電子情報通信学会の2011年ソサエティ大会(2011年9月13日~16日に北海道大学札幌キャンパスで開催)で行われた、EDA関連の特別企画(基礎・境界ソサイエティが担当)の第2弾を紹介する(第1弾はこちら)。GPGPU(general purpose graphical processing unit)のEDAへの応用をテーマにしたシンポジウム「GPUを用いた高速化技術とそのVLSI設計への応用」(セッション番号AI-1)である。

写真1●CUDAを使ったGPGPUのプログラミング スクリーンは東工大の遠藤氏が見せたスライド。
写真1●CUDAを使ったGPGPUのプログラミング
スクリーンは東工大の遠藤氏が見せたスライド。
[画像のクリックで拡大表示]

 GPUはもともとグラフィックス処理を高速化するために開発されたLSIで、多数の小さなプロセサの集合体になっている。多数のプロセサを並列に動作させることで、グラフィックス以外の処理も高速化するのがGPGPUの狙いである。今回のシンポジウムでは、GPGPUをEDAへ応用する際の期待や課題についての議論があった。

 まず、座長を務める京都大学准教授の越智裕之氏が挨拶し、それに続いて東京工業大学准教授の遠藤敏夫氏が登壇して、GPGPUの一般的な解説を1時間行った。その後で、立命館大学教授の福井正博氏、同じく立命館大学大学院生の林磊氏、長崎大学准教授の柴田裕一郎氏、北海道大学教授の湊真一氏、高知工科大学准教授の山際伸一氏が、それぞれEDAにおけるGPGPUに関して最新の成果を披露した。

 最初の講演者である東工大の遠藤氏は、GPGPUの教科書的な解説と東工大のスーパーコンピュータ「TSUBAME」に関する説明を行った。同氏は、GPGPUの特徴として、(1)GPUは単独動作ではなくCPUと連携してI/OやOSが一緒に動作すること、(2)CPUとは別のメモリ空間を持つこと(すなわち、ここへのデータのコピーが必要なこと)、(3)CPUメモリとGPUメモリの間のデータ転送が発生すると全体の動作速度が遅くなること、を挙げた。

 さらに、米NVIDIA Corp.のGPU向けプログラム開発環境「CUDA:Compute Unified Device Architecture」を紹介して、どのようなプログラムの書き方をすればメモリのコピーが効率よく行えるか、If文などの分岐効率が上がるかなどを説明した(写真1)。最後に東工大のTSUBAME 2.0に関して解説し、世界ランキングや、気象シミュレーションや有限要素法、天体シミュレーションに利用されていることを紹介した。