MAGAZINE ARTICLES
|
|
GPU(graphics processing unit)は、3Dグラフィックスなどの画像処理に用いられるチップである。その特徴は、数百に及ぶ演算ユニットを備えることによって高い演算性能を実現していることだ。CPUより高い演算性能を持つこのGPUを、汎用計算に用いようという動きがある。このような用途に用いられるGPUはGPGPU(general purpose computing on graphics processing units)と呼ばれている。
GPUを汎用計算用途で活用する場合に問題となるのは、プログラミング言語である。従来は「Cg」などのシェーダ言語が用いられていたが、これをC言語に置き換えることができれば、多くの開発者にとって敷居が低くなる。米NVIDIA社の「CUDA(compute unified device architecture)」は、GPU向けの統合ソフトウエア開発環境である。これを利用することにより、GPU向けのプログラムをC言語で開発することができる。ここでは、2008年3月6日に東京大学で行われた「Japan CUDA カンファレンス 2008」で紹介されたGPGPUのさまざまな事例の概要を説明する。
カンファレンスの冒頭、NVIDIA社でチーフサイエンティストを務めるDavid B Kirk氏が「3Dグラフィックスの展望」と題した講演を行った。その中で同氏は、「当社はこれまでに、CUDAに対応したGPUを約5000万個出荷した。また、CUDAそのものは5万件以上ダウンロードされている」とCUDAの普及状況を説明。CUDAと同社GPUが、最も普及しているパラレルコンピューティングのプラットフォームであると主張した。次いで同氏は、CPUではなくGPUを計算用途に使うことのメリットを以下のように説明した。
「2~3倍の高速化によって得られる効果は、『ただ単に速いだけ』というレベルだ。確かに演算については多少効率が上がるが、開発作業に大きな変化はない。それが5~10倍の高速化となると、その手法を導入する価値が十分にあるということになる。既存のソフトウエアの代わりに新たなプログラムを開発することを検討する意味も出てくる。それに対し、100倍の高速化となると、まったく意味が異なる。単に『速くなった』ということではなく、従来は実現不可能だったことが可能になるケースがあるからだ。つまり、従来は存在しなかったまったく新たなアプリケーションが生まれる可能性がある。100倍高速化されるということは、10年先のコンピュータを手に入れたということと同義である。つまり、GPUを汎用計算用途に用いることで、パラダイムシフトが起きるということだ」。
実際、NVIDIA社が提供するGPUは、高い演算性能を実現している。CUDAに対応するGPUである「G80」は、IEEE 754に準拠した単精度浮動小数点ユニットを128個集積している。このGPUの演算性能は、理論値で約500ギガFLOPS(1ギガFLOPSは1秒当たり10億回の浮動小数点演算)である。同GPUを4個搭載したコンピューティングサーバー「Tesla S870」では、理論値としては、約2テラFLOPS(1テラFLOPSは1秒当たり1兆回の浮動小数点演算)の演算性能を備えることとなる。
Kirk氏は、この高い演算性能を活用した新たなアプリケーションとして以下の具体例を挙げた。
米Headwave社は、地震などによって得られた地下の情報を可視化するソフトウエアを提供している(図1)。地下の断面図などを可視化するには、テラバイトからペタバイトクラスの巨大なデータを処理する必要がある。そのため、従来のようにCPUのみで処理すると、断面図を得るために半日から1日といった長い時間を要していた。しかも、表示したい部分をあらかじめ設定したバッチ処理で対応しなければならなかった。
それに対し、Headwave社は、この処理にGPUを適用した。新たにGPUによって大量のデータを処理する手法を導入したことで、可視化したい断面をインタラクティブに設定して表示することが可能になったという。
米Hanweck Associates社は、株価の変動をヒートマップとして可視化するソフトウエア「Volera」を提供している(図2)。これは、米国の株式市場におけるすべての株価の変動をGPUによって1秒以内に評価/計算して表示するというものだ。従来は存在しなかったアプリケーションであり、投資家の判断を助ける役割を果たす。
米Evolved Machines社は、脳の神経回路の働きをシミュレーションし、その働きを盛り込んだ新しいタイプのデバイスを開発しようとしている。そのシミュレーションにGPUを利用している。GPUを用いることで、CPUを用いた場合と比較して、130倍高速なシミュレーションが可能になったという。
以上の例のように、CUDAが登場して1年余りの間に、工業や財務などの分野でGPUが汎用計算用途に用いられるようになった。一部はすでに商用化されており、GPGPUの急速な広がりを感じさせる。
長崎大学工学部の情報システム工学科で准教授を務める濱田剛氏の講演では、「CUDA応用事例の最も初期の報告は日本発であった」という事実が紹介された。
「GPGPUが実用化されたきっかけを作ったのは、ピーク性能が518ギガFLOPSと非常に高いハードウエアであるG80がリリースされたことと、GPUの性能を容易に引き出すことができるCUDAがリリースされたことだ」(濱田氏)という。従来のCgを用いて汎用計算を行った場合、ハードウエアの演算性能を引き出すことが困難であった。そのため、実用的な演算をGPUで実行しても、CPUと比較して特段優れた性能を得ることができるわけではなかった。G80とCUDAがリリースされたことで、CPUと比較して実用レベルで格段に高い演算性能を初めて引き出すことが可能になったという。
濱田氏はCUDAがリリースされた直後の2007年3月、CUDAを用いた最初のGPGPUの利用例として「N体シミュレーションにおける256ギガFLOPSの達成」という事例を報告した。これによって、GPU上での実用的なプログラムの高速動作を実証したという。
こうした事例がきっかけとなって、現在、海外ではGPGPUへの取り組みが活発化している。ところが、最初の事例を作った日本国内では、むしろ停滞している状態にあるという。濱田氏は「ドキュメントやコミュニティでのやりとりが英語であることが、敷居の高さを招いている」とその理由を指摘した。濱田氏は「国内ではN体問題専用計算機である『GRAPE』を開発した実績がある」という例を引き、「GPGPUとGRAPEで使用できる並列化プログラミングのテクニックは、ほぼ同じだ。つまり、並列コンピューティングでは日本に一日の長がある」として、国内におけるGPGPUへの取り組みを促した。
国内でGPGPUを普及させるための動きもある。濱田氏は、理化学研究所と慶応大学、長崎大学などと共同で行われている「試行錯誤情報の共有」という取り組みと、「『KNOPPIX for CUDA』による啓蒙活動」を紹介した。
現在、GPUの詳細な内部情報は公開されていない。そのため、試行錯誤しながらプログラムを改良すればするほど高速化が図れるという状況にある。試行錯誤の共有とは、そうした改良情報を共有することで、試行錯誤に要する労力を省くことを狙ったものだ。
一方のKNOPPIX for CUDAは、CD-ROMからブートできるLinuxと、CUDAを1つのパッケージにまとめたものである(http://www.yasuoka.mech.keio.ac.jp/cuda/でダウンロード可能)。CUDAの開発環境を構築する手間を省くことにより、GPGPUへの敷居を下げる狙いがある。
濱田氏は、「私たちとCUDAでGPGPUを始めてみませんか?」というメッセージを掲げて講演を締めくくった。
(小野 明久)
●コスト重視のエントリーモデル BoxClusterSYCPUは、コスト重視のXeon X3380 …
MAX8649は、大電流(1.8A)、高精度(±2%以下)ステップダウンコンバータで、携帯端末の高性…
SecureDeviceは、汎用USBメモリを暗号化USBメモリへ変換するソフトウェアです。HPCS…
SecureDeviceは、汎用USBメモリを暗号化USBメモリへ変換するソフトウェアです。HPCS…
HPC-6016GT-TF-TM2は、インテル Xeon5540を2CPU搭載可能な省スペース型ラッ…
診断ドリブン歩留まり解析で原因をより早期に特定
65nm以下の先端テクノロジ・ノードで開発されているICは、わずかな製造ばらつきがICの性能低下や故障を招く原因になります。さらに、設計に固有なフィーチャーに影…[メンター・グラフィックス・ジャパン]
Catapult C SynthesisによるSystemCモデリング、合成および検証
Catapult C Synthesisは、複雑なASICのシステムレベルでのモデリング、検証、合成のためにSystemCサポートを追加しました。サイクル精度と…[メンター・グラフィックス・ジャパン]
アナログ・デバイセズに寄せられた珍問/難問集より<Issue 19>
<最大定格の遵守、あるいは不幸な予言を避ける方法>Q.超小型の表面実装(SM)ICを使ったブレッドボードを作成するにはどうすればよいのでしょうか?[アナログ・デバイセズ]
3MHz 高速スイッチング、小型、高効率スイッチング・レギュレータ:ADP2108
アナログ・デバイセズの3MHz 高速スイッチング、小型、高効率スイッチング・レギュレータ「ADP2108」のカタログです。同製品は、これまでにない水準の高い性能…[アナログ・デバイセズ]
一般照明用LED ドライバの設計例も紹介 高輝度ライティング向けLEDドライバ・ソリューション・ガイド日本語 2009年Vol.2
(資料より一部抜粋)高輝度LEDを使ったライティングはじめにタイプ、色、サイズや出力にかかわらず、すべての LED は定電流で駆動する時に最善の動作をします。こ…[ナショナル セミコンダクター ジャパン]
FPGA向け電源回路設計における考慮事項
FPGA向けの電源要件はますます厳しくなっているが、最新世代のFPGA向けの電源要件をサポートするナショナルの主要製品を紹介。[ナショナル セミコンダクター ジャパン]
電力に敏感な携帯型プロセッサ向けのI2C制御可能な小型クワッド同期整流式降圧DC/DCレギュレータ
LTC3562クワッド出力降圧レギュレータは、単一リチウムイオン・バッテリで動作する複数コアのハンドヘルド・マイクロプロセッサ・アプリケーション向けに設計されて…[リニアテクノロジー]
IF信号チェーンの注意深い設計による、16ビット、105Msps ADCの最高性能の実現-デザインノート468
現代の通信システムは、アナログ信号を受信し、それをFPGAで処理可能なデジタル信号に変換するのにADCを必要とします。ミックスシグナルのエンジニアの仕事は、AD…[リニアテクノロジー]
高精度トランスインピーダンスアンプ
フォトダイオードなどの微小電流信号を増幅するためには,入力バイアス電流が少なく,入力オフセット電圧やドリフトも小さなアンプを用いてI-V変換するのが一般的です。…[日本テキサス・インスツルメンツ]
データ・コンバータのドリフトに関する設計者の必須知識: 最悪劣化度の構成要素を理解して仕様の条件を減らす
アナログ-デジタル/デジタル-アナログ・コンバータの確度は温度変化によって劣化しますが、厳密にはどの程度まで劣化するのでしょうか。設計者にはよく分かっていること…[日本テキサス・インスツルメンツ]
革新的な検証アプローチEVEは、従来のエミュレータとラピッドプロトタイピングの長所を併せ持つ、まったく新しいハードウェア活用型検証手法を開発し、それを一枚のボー…[日本イヴ]
ZeBu Multi-Media Board (ZeBu-MMB) は、ZeBu検証プラットフォームをマルチメディアやコンシューマのアプリケーションで必要なあら…[日本イヴ]
電磁波解析専用ソフトウェア PAM-CEM
電磁波関連機器・部品の解析設計を支援する電磁波解析専用ソフトウェア(CAE)です[特長]・「EMC・EMI問題への対策」を支援 有限差分時間領域法(FDTD)の「PAM-CEM/FD」または有限要素時...[日本イーエスアイ]
|
アナログ電子回路コミュニティ
技術者のための掲示板サイト |
|
Design Hint&Tips
アナログ設計回路の基礎から最新技術動向まで |
|
最適なソリューションを提案する パナソニックの最新キーデバイス パナソニック エレクトロニックデバイス |
|
MCU EXPO.COM
MCUの総合情報サイト |
|
Green Power Solution
電源IC & アナログ情報サイト |
|
FPGA Insights
FPGAの総合情報サイト |
|
ANALOG TECH & INFO
アナログ半導体の総合情報サイト |
|
特集 カーエレJAPAN |
|
特集 ET 2009 |