高性能計算(High Performance Computing)

高性能計算の可能性を広げたい

最近、コンピュータグラフィックスに使用されている、画像処理ユニットの計算速度が著しく向上している。その画像処理ユニットを、本来のグラフィックス目的に使用するばかりではなく、一般の計算にも使用できるように拡張した、 GPGPU (汎用画像処理ユニット)が注目を集めている。
GPGPU は、パソコンに差し込んで使用できるグラフィックスカードのような形態だが、高速並列計算を実行できるため、その計算速度は大学の計算センターに設置されているような高速計算機にも匹敵する。つまり、GPGPU を使用することは、一人が一台の高速並列計算機を持つことに相当するのだ。しかも、GPGPU は、一台数十万円と非常に安価である。
この安価で高性能な並列計算装置を用いて、これまで不可能だった様々な計算が可能となる。そこで、本研究室では、量子コンピュータや、脳回路モデルの大規模シミュレーションをGPGPUを用いて行い、高性能計算の新たな可能性を開拓するプロジェクトを現在推進中である。

GPGPUとその応用分野

GPU(Graphics Processing Unit)とは、グラフィックス処理を行うための半導体チップである。コンピュータの頭脳であるCPUが複雑な構造の演算器を少数搭載しているのに対し、GPUは単純な構造の演算器を多数搭載している。GPGPU(General-Purpose computation on GPUs)とは、本来グラフィックス処理に用いられるはずのGPUを汎用数値計算に利用する手法である。GPUの多くの演算器を生かして並列に計算を行うことにより、以下のような演算速度の飛躍的向上が期待できる。

数値計算ライブラリへの応用

GPGPUは、パーソナルユースにおいても強力な計算能力を獲得しうる手段であるが、GPUの計算能力を最大に発揮するためのコーディングには特殊な技術や知識を必要とする。そこで本研究室では、アプリケーションに容易に組み込みが可能な、GPUを用いた高度な数値計算ライブラリの研究を行っている。現在は行列のLU分解に着目し、並列アルゴリズムの考案と実装を行っている。intel core2 Quad CPUで動作する数値計算ライブラリに対し約8倍のパフォーマンスをもち、現在も新たな並列アルゴリズムの考案や様々なコード最適化によって高速化を行っている。また、開発したライブラリはオープンソースとしの公開を検討中である。

Groverのアルゴリズムへの応用

Groverのアルゴリズムは量子計算の代表的アルゴリズムであり、量子計算の研究者たちにとって重要な研究対象である。しかし、このアルゴリズムを高速にシミュレーションする際には大規模計算機を用いる必要があった。そこで、本研究室ではGPGPUを用いてGroverのアルゴリズムを高速にシミュレーションする研究を行った。これにより、シミュレーションを個人用計算機で手軽に実行することが可能となった。

インターナルクロックモデルへの応用

インターナルクロックモデルとは、小脳が持つと考えられている時間経過を表す機能モデルである。本研究室では、このモデルのシミュレーションをGPGPUを用いて高速・大規模に行う研究を進めている。現在、GPUにとって重要な問題であるメモリ領域の制限を克服することで、より大規模なデータを扱えるシミュレータを構築している。