Heisenberg
Machine 開発の背景と展望
飯高敏晃
計算機は、その誕生以来一貫して指数
関数的に計算性能が向上してきた。その主たる原動力は半導体素子製造技術の技術革新による弛まない高速化、高集積化であるが、それは結果として計算機の設
計構造(アーキテクチャ)の不連続的な進化(スカラー計算機、ベクトル計算機、並列計算機 etc.)
をもたらしてきた。そして現在、科学計算用計算機の設計構造は、大規模並列計算機からマルチコア型超並列計算機へと大きく転換しようとしている。従来の計
算機では一つのLSIチップには一組の演算装置(CPU)が
組み込まれており、並列化は多数のLSIを並列につなぐことで行われてきた。LSIの集積度が上がってLSI一個に多数のトランジ
スタを組み込めるようになると、より高度な演算機能をCPUに盛り込むことによってCPU一個当りの性能を上げてきた。その結果、各CPUは
非常に複雑なものになり、その設計に必要な労力は急激に増大した。半導体技術の発展により集積度が向上しても、設計費用が障害になって性能の向上が図れな
くなったのである。この問題を解決するために注目されだしたのがマルチコア型の設計構造である。マルチコア型とは、LSI一
個の中に多数のCPU(コア)を組み込む設計構造である。すなわち、LSIの中に多数詰め込めるようになったトランジスタを使ってより高性能なCPUを1個作るのではなく、LSIの中に従来のCPUを多数並べて並列計算するこ
とにより、演算性能を高めようというアイデアである。既に、double core, quad coreな
どの製品が実用化されている。(私のノートブックもdouble coreである。)
<>こ
のような考え方を極端に推し進めると、ヘテロジーニアスマルチコア(異種マルチコア)の設計構造に到達する。異種マルチコアではLSI内に2種(以上)のCPUを内蔵する。第一種のCPUは従来CPUと似た構造を持ち、条件判断などプ
ログラムやデータの流れの制御など複雑な作業をこなす大型のCPUである。第二種のCPUは演算専用であり単純な計算(加算乗算等)に機能を限定した小型のCPUである。したがって一つの第一種CPUの下に多
数の演算用CPUが並列に動作する構図となる。計算の制御に関する複雑な機能を第一種CPUに集めることにより、一定面積のLSI当りの第
二種CPU数が飛躍的に増大し、演算性能が向上するのである。異種マルチコアは、CPUが小規模で済む組み込み型計算機(iPod、携
帯電話など)では以前から使われてきた設計構造である。半導体素子の高集積化の結果、近年になって科学計算用CPUの
マルチコアも経済的に作成可能になったのである。また、計算宇宙物理研究室で長年開発を行ってきたGRAPE型
専用計算機の最新機種GRAPE-DRも異種マルチコア型とみなすことができる。粒子間相互作用の演算装置が第二種CPUで
あり、プログラムを制御する第一種CPUは、LSIチッ
プ内には無く、ホストコンピュータが代行していると見なすことができる。さらに、GPU(Graphic
Processing Unit)はパソコンの画像処理装置として独自のマルチコア構造を発達させてきた。これらの異種マルチコアでは、一
つの制御用CPUのみが計算の流れを制御できるので、多数のデータに対して一斉に同一の演算を行うSIMD型(Single Instruction Many
Data)計算機として最も効率的に動作する。
GPUとはパソコンの画面に映し出される映像の画像処
理を行う素子である。画面上の物体を回転させたり平行移動させたりする画像処理はパソコンのCPU(中
央処理装置)で行うこともできるが、CPUに
は他にも仕事が有り、また画像メモリともデータの交換にも結構時間がかかる。そこで爆発的に増大する世界中のゲームマニアの高度な要求に答えるために、画
像メモリに直結した画像処理専用の素子(GPU)が、NVIDIA社
やATI社などにより開発されたのである。GPUは
画面上の全ての画素を一斉に平行移動させたり回転させたりする並列処理を高速に実行することができる。最近この超並列演算機能を汎用科学計算に活用しよう
という考え方、GPGPU (General-Purpose computation on GPUs)
(http://gpgpu.org/参照)が盛んになってきた。GPGPUは、流体力学、線形
計算などに応用され始めているが、量子スピン系への応用は我々の Heisenberg Machine の研究が世界で最初で唯一である。<>以上、異種マルチコア型CPUが通常のCPUと同程度のコストで十倍以上の性能を発揮するようになったかの背景を解説した。このトレンドは今後数年
から十数年続くものと考えられる。そこでマルチコアと京速計算機の関係を考えてみよう。京速計算機の仕様の詳細は公表されていないがマルチコアのトレンド
からは逃れられないであろう。京速計算機は全体の性能が最大になるように同種マルチコアと異種マルチコアの両方をある割合で採用するであろう。同種マルチ
コア部では、同じチップ内でCPU間の通信が早い、キャッシュメモリの大きさが制限されるなどの点
を除けば、原理的に従来の並列計算機と同じ構造なので、従来の並列プログラムをある程度活用できるはずである。それに対して異種マルチコア部ではその高集積性を活かして同種マルチコア部に比べて一桁高い最高の演算性
能が期待できる。
<>し
かし、
話はそれで終わるわけではない。問題はソフトウェアである。従来の行列計算などの科学技術計算用ソフトは異種マルチコア型用
のアルゴリズムで書かれていないので、全て作り直さなければならない。というより、まず、新しい異種マルチコア型用ア
ルゴリズムを新規に考案しなければならない。これを全ての主要なライブラリについて行うには膨大なマンパワーが必要で、まさしく京速計算機の国家プロ
ジェクトとして行う必要がある。これはとても私だけで完成出来るものではないので、本研究では量子ダイナミクス計算から極小数の最重要部分を選び出して異種マルチコア型用アルゴリズムの開発を行い、現在入手可能な幾つ
かのマルチコア型
ハードウェア(GRAPE-DR, GPU, ClearSpeed等)を利用して検証する。そし
て完成した異種マルチコア型用アルゴリズムを用いて、物質科学上の幾つかの重
要な問題に挑戦する。
2007/01/29