第一原理DVXa計算専用計算機EHPC-DVXaの開発

佐々木 徹, 長嶋 雲兵


Return

1 はじめに

非経験的分子軌道法は、さまざまな機能性分子の設計や開発に対して最も基本的でかつ重要な手法である。しかし、その計算量はもっとも単純なHartree-Fock計算の場合でも、系のサイズのほぼ4乗に比例するため、生体内や固体表面での化学反応解析等の大規模系の電子状態計算には膨大な計算コストが必要になる。現実的には、非経験的分子軌道法は、設計したい大きさの大規模分子系ではなく、それを簡素化した小規模モデル分子への適用がせいぜいである。1990年代前半までは数十原子の分子軌道計算でさえ、その当時のスーパーコンピュータを必要としていた。1990年代後半における計算機の進歩、特にスーパーコンピュータや高性能ワークステーションといった大規模並列計算機の進歩により、ようやく生体分子などの高分子を意識した100原子を超える分子軌道計算[1 - 5]が行われつつある。しかし、スーパーコンピュータや高性能ワークステーションといった大規模並列計算機は高価であり、かつ設備の維持管理も大変であるため、研究者が研究室レベルで「現実を反映した大規模分子系」の分子軌道計算を実現することは容易なことではない。
「現実を反映した大規模分子系」の分子軌道計算を、「低コスト=パーソナルユース」で実現するためには、計算量を軽減する大胆な近似法を取り入れ、さらに有効なアルゴリズムの開発に加え、計算機の性能を飛躍的に向上させることが必須である。
計算量を軽減するためには、2つの方法がある。一つは、経験的または半経験的分子軌道法のように必要な計算をまともに行う代わりに実測値を用いて計算量を削減する方法である。この方法は演算量が大幅に軽減されるにも関わらず、炭化水素などの系では計算される物理量が実測値をよく再現することから、MOPAC[6]のように非常に広範囲に利用されている。有機化学反応におけるフロンティア軌道理論や遷移状態理論などの普及は、経験的または半経験的分子軌道法なしには考えられなかった。しかしながら、経験的または半経験的分子軌道法は、実測が無い系や金属のように周辺の環境によって様々な状態を容易にとる系には利用できない。さらに計算結果の信頼性にばらつきがあることがよく知られている。他の方法は、実測値をパラメータとして用いる代わりに、本論文で取り扱うDVXa法[7]のように、ハミルトニアンに近似を導入することで計算すべき積分自体を簡素化して計算量を軽減する方法である。DVXa法の演算量は、原子数のほぼ3乗に比例する演算量となる。DVXa法のように近似ハミルトニアンを用いる計算法は、計算量や結果の信頼性などの面から非経験的分子軌道法と半経験的分子軌道法の中間に位置づけられている。この方法は経験的パラメータを陽に含まないことから、第一原理分子軌道計算または第一原理計算と呼ばれている。
他方、計算機の性能を飛躍的に向上させるための試みは、分子軌道計算法の持つ高い並列性を背景にして、パソコンなどによる並列分散処理システム(PCクラスタ)の構築[8]や専用計算機の開発等[9 - 12]などがある。DVXa法の専用計算機システムもすでに佐々木ら[13]により開発されており、並列化により高性能をあげることが報告されている。
そこで、本研究ではDVXa法を用いて計算量を軽減し、さらより簡便な専用計算機システムを構築する試みとして、科学技術計算専用ロジック組込み型プラットフォーム・アーキテクチャEHPC[14 - 18]に基づくDVXa法専用分散並列計算機を開発して計算速度の向上をはかることで、「現実を反映した大規模分子系」の分子軌道計算を「低コスト=パーソナルユース」で実現するシステムの開発を行ったので報告する。

2 DVXa法計算専用計算機

第一原理分子軌道計算法の一つであるDVXa法は計算精度の面ではやや不満があるものの、STMシミュレータ[19 - 23]に使用されるなど物質材料の第一原理計算を行う上では手頃な手法であり、その物質材料設計に対する有用性は大きい。また、手法そのものが高い並列性を持っているため、PCクラスタなどでも容易に並列化が可能である。
新たに作成した専用計算機のハードウェア構成をFigure 1に示す。Figure 2はEHPCボードと1ユニットシステム上でのデバッグの様子である。Figure 3は、4ユニットシステムの外観である。
最小構成単位は1ユニットにCompact PCIバックプレーンを備え、PC互換Compact PCIカード1枚とEHPC基板7枚をバックプレーンに挿入して、互いにCompact PCIバスによって接続したものである。このユニットを4つ用意し、個々のPC基板のネットワークI/Fをハブで接続して、4ユニットシステムを構成している。


Figure 1. Hardware configuration of the four units system.


Figure 2. The EHPC board and the debugging view.


Figure 3. Front view of the four EHPC units system.

1ユニットのうちホストPC(Figure 1 の青で示したPU)の諸元は、CPU Pentium III 400MHz、主記憶256MB、ハードディスク容量20Gバイトであり、並列アクセラレータボード諸元は、プロセッサエレメント(Figure 1 の赤で示したPU、 Figure 2のボードの上側3つと下側左のLSI):CPU 日立製作所製7750(SH4)、動作周波数200MHz、メモリ容量64Mバイトプロセッサ間通信用共有メモリ128Kバイト、ホストインターフェース(Figure 1 の黄色で示したPU、Figure 2のボードの下側右のLSI):日立超LSI製PCIブリッジ、通信用共有メモリ64Mバイトである。
ソフトウエア動作環境は、ホストOS:Linux、並列ライブラリ:MPICHであり、並列アクセラレータボードOS:日立製μITRON、対ホスト−ボード内通信ライブラリ:Tree-Commである。Tree-CommはEHPCプロジェクトにおいて開発された通信ライブラリーである。
システム全体としてはPCボード Pentium 400MHz メモリ容量256MB ×4枚, 汎用CPU(SH4)200MHz メモリ容量64MB 4個搭載のボード ×28枚という計算資源を有している。従って、全メモリ量は8GByte、CPU数はPentium 4個、SH4が112個である。

3 性能評価

ベンチマークテストとして佐々木ら[13]が用いた、P型半導体の表面にH原子が吸着したものをモデル化した135原子からなるSi78 B6 H53クラスタ(135原子)を用いた。評価方法はハードウェアの構成を(1)EHPCマシンのホストPCのみを用いPCの台数を1〜4台と変化させ実時間を測定する。(2)EHPC-UNIT(PC1台+EHPCボード7枚)の台数を1〜4台のように変化させ、全体の実時間と並列動作する秒列要素生成ステップの演算時間を測定する。
SCF反復1回の計算時間をホストのPentium III(400MHz)1つだけで計算した場合と4つのCPUを用いた場合をそれぞれTable 1に示す。

Table 1. Wall-clock time for one SCF iteration on one PC and on four PCs in sec.
1PCNumber of Sample points
81921638432768
Spherical potential generation110
Matrix Elements generation2765521166
Diagonarization141413
Density reconstruction333
Total2945701182
4PCNumber of Sample points
81921638432768
Spherical potential generation111
Matrix Elements generation72139277
Diagonarization131413
Density reconstruction343
Total89158294

1PCでの実行時間をみると、逐次計算ではサンプル点の増加に従い行列要素算出のステップの比率が大きくなっていることが分かる。計算結果に対して5桁程度の精度を出すためには1原子につきサンプル点として300点程度必要であるから、表中の32,768点が現実的な計算規模である。32,768点の計算をPentium III単体で実行した場合には、処理時間の97%以上が行列要素の生成に費やされている。
そのため、プログラムの並列化は行列要素生成のステップにのみ行われた。4つのPCを使用して並列処理を行うと、4倍以上の性能向上が観測される。特に、行列要素算出のステップだけみると4つのPCを用いた並列計算機により4倍以上の高速化が図られており、理論性能限界の4倍を超えたスーパーリニアスピードアップが観測されている。これは、並列化によってプロセッサ一台あたりの問題サイズが小さくなり、キャッシュミスなどのメモリアーキテクチャに起因するボトルネックが解消されたためである。このようにDVXa法は非常に並列化効率の高い計算法である。
Table 2に1ユニット(Pentium III 400MHz 1 + SH4 200MHz 28)でのSCF反復1回の計算時間を示した。1PCの場合に比べると19倍程度の性能向上が観測されていることが判る。SH4の動作周波数が200MHzであるので、SH4の性能がPentium III(400MHz)の1/2の性能であると仮定すると、15倍が理論性能限界であるが、ここでもスーパーリニアスピードアップが観測された。

Table 2. Wall-clock time for one SCF iteration on one EHPC Unit in sec.
1UNITNumber of Sample points
81921638232762
Spherical potential generation110
Matrix Elements generation122448
Diagonarization141313
Density reconstruction333
Total304164

Table 3に1回の行列要素生成にかかる実時間を示した。Table 4にはSpeed UPを示した。PCの場合、一番計算時間のかかる32768点のサンプリングでは、4PCまでスーパーリニアスピードアップが観測されている。ところがユニットをもちいると、4ユニットで性能向上率が落ちている。4ユニットの場合行列要素の計算は固有値計算とほぼ同等の計算コストしかかからないことが判る。4PCの場合と比較しても4ユニットの場合ほぼ20倍の性能がでており、非常に高い効率で並列処理が実行されていることが判る。残念なことに、固有値計算等が並列化されていないため、その逐次部分16秒と4ユニットでの行列要素生成13秒を足すと、4ユニットを用いても実時間は30秒程度かかることになる。この時行列要素生成ステップの全計算時間に対する比率は50%以下となっている。もちろん1PCの場合にくらべると40倍程度の性能となる。此処まで来ると並列化されないステップの比率が大きくなり、4ユニットを使っても1ユニット場合の約2倍の性能しか出すことができない。より大きな問題を解けば、より効率が高くなるが、アルゴリズム的にみて次の問題は固有値計算の並列化であることがわかる。

Table 3. Wall-clock time of matrix elements generation in sec.
Matrix Element GenerationNumber of Sample points
81921638432768
1PC2765521166
2PC139276552
3PC93185370
4PC72139277
Matrix Element GenerationNumber of Sample points
81921638432768
1UNIT122448
2UNIT71324
3UNIT5916
4UNIT5713

Table 5に本システムと産業技術総合研究所先端情報計算機センターに設置されたスーパーコンピュータHitach SR8000/64の性能と電気使用量、体積を示した。SR8000/64は2002年の11月時点でTop500の99位である。EHPCは理論ピーク性能が約半分であるが、使用電力は1/100、体積は1/30である。運用経費は非常に少ない。価格比は正確ではないが1/1000程度である。EHPCは非常に低価格で高性能なDVXa法の計算環境を実現していることがわかる。

Table 4. Speed up of 1-4 PC's and 1-4 units.
No.PC81921638432768
1111
21.98522.112
32.9672.9833.151
43.8333.9714.209
No.Unit81921638432768
1111
21.7141.8462
32.42.6663
42.43.4283.692

Table 5. Cost /performance of EHPC and SR8000/64.
ComputerEHPCSR8000/64
(99th of Top500 in Nov., 2002)
Processors112512
Peak GFlops224512
Elec. Power(KW)2212
Volume(m3)0.7927.7

4 まとめ

DVXa法に基づく第一原理分子軌道計算の計算時間の90%以上の部分を占める行列要素算出部分を並列化し、そのプログラムを効率よく実行させるために、科学技術計算専用ロジック組込み型プラットフォーム・アーキテクチャEHPCに基づくDVXa法専用計算機EHPC-DVXaを開発した。
Si78B6H53クラスタの計算をホストのみで実行した場合に比べ、1つのEHPC-DVXa ユニットを用いた並列分散処理では20倍程度の高速化が実現された。これによりPentium III 1個からなるPCでは計算時間の90%以上を占めていた行列要素生成ステップは、4ユニット(112CPU)を用いた場合、50%以下に計算時間が短縮した。またスーパーリニアスピードアップを観測した。
DVXa法の持つ並列性を活かし、専用計算機で高速化することができた。DVXa法の並列処理は特にサンプルポイントの数が大きくなるほど効果が大きく、計算全体では118プロセッサで40倍程度の性能向上をみた。並列処理を行った行列要素算出のステップに限れば、100倍程度の高速化を実現し、スーパリニアスピードアップを観測した。
これをさらに発展させて、計算負荷の大きい計算ステップを抽出し、それを専用LSI化することによって高速化する試みに着手した。基盤となるシステムを共通化することにより様々な分野の専用LSIにも適合できるようなシステム構成を目指している。

本研究の一部は科学技術振興調整費 総合研究「科学技術計算専用ロジック組込み型プラットフォーム・アーキテクチャに関する研究」によるものである。また、研究環境を提供して頂いた慶應義塾大学先端科学技術研究センター、いくつか有用な御議論をいただいたMOE研究会、東京大学の塚田 捷教授、日本大学の里子允敏教授を始めとするCMSフォーラムのみなさまに深く感謝する。

参考文献

[ 1] Alsenoy, C. V., Yu, C. H., Peeters, A., Martin, J. M. L., and Schafer, L., J. Phys. Chem., 102, 2246-2251 (1998).
[ 2] Challacombe, M., and Schwegler, E, J. Chem. Phys., 106, 5526-5536 (1997).
[ 3] Mattson, T. G., Parallel computing in computational chemistry, ACS Symp. Series (1995).
[ 4] McWeeny. R, Method of molecular quantum mechanics, 2nd edition, Academics (1989).
[ 5] Sakuma, T., Kashiwagi, H., Takada, T., and Nakamura, H., Int. J. Quantum Chem., 61, 137-152 (1997).
[ 6] Deware, M. J. S., Zoebitsch, E. G., Healy, E. F., and Stewart, J. J. P., J. Am. Chem. Soc., 107, 3902 (1985).
Stewart, J. J. P., MOPAC93.00, Fujitsu Ltd., Tokyo, Japan (1993).
Available from Quantum Chemistry Program Exchange, University of Indiana, Bloomington, IN, USA.
[ 7] 例えば、
里子允敏、大西楢平, 密度汎関数法とその応用、分子・クラスターの電子状態, 講談社サイエンティフィック (1994).
[ 8] 分子軌道計算関係では、ベストシステムズ社(http://www.bestsystems.co.jp)等が、分子軌道計算プログラムを並列化し、それを搭載したPCクラスタを製造販売している。
[ 9] 村上和彰, 小原 繁, 長嶋雲兵, 網崎孝志, 田辺和俊, 北尾 修, 北村一泰, 高島 一, 宮川宣明, 稲畑深二郎, 山田 想, CICSJ Bulletin, 16, 6-12 (1998).
[10] 小原 繁, 村上和彰, 長嶋雲兵, 網崎孝志, 田辺和俊, 北尾 修, 北村一泰, 高島 一, 宮川宣明, 稲畑深二郎, 山田 想, CICSJ Bulletin, 16, 2-5 (1998).
[11] 稲畑深二郎, 山田 想, 大澤 拓, 沖野晃一, 冨田裕人, 橋本浩二, 早川 潔, 宮川宣明, 村上和彰, 電子情報通信学会技術報告, ICD98-21, 77-84 (1998).
[12] http://kasuga.csce.kyushu-u.ac.jp/~moe/index_j.html
[13] Sasaki, T., Nagashima, U., Tsukada, M., J. Chem. Software, 6, 165 (2000).
[14] 佐々木徹, 荒木健悟, 石橋政一(アプリオリ・マイクロシステムズ), 大谷泰昭(富士総研), 長嶋雲兵(融合研), 溝口大介(アプリオリ・マイクロシステムズ), 村上和彰(九大), SWoPP2000(Summer United Workshops on Parallel, Distributed and Cooperative Processing : 並列/分散/協調処理に関するサマー・ワークショップ), 情報処理学会研究報告, 2000-HPC-82, 7-11 (2000).
[15] 村上和彰,稲垣祐一郎,上原正光,大谷康昭,小原 繁,小関史朗,佐々木 徹,棚橋隆彦,中馬 寛,塚田 捷,長嶋雲兵,中野達也, 科学技術計算専用ロジック組み込み型プラットフォーム・アーキテクチャの開発 −プロジェクト全体像−, 情報処理学会研究報告, 2000-HPC-82, 1-6 (2000).
[16] 戸川勝巳, 上原正光,小原 繁,波多江秀典,村上和彰, 情報処理学会研究報告, 2000-HPC-82, 13-18 (2000).
[17] 溝口大介, 荒木健悟, 石橋政一, 佐々木徹(アプリオリ・マイクロシステムズ), 棚橋隆彦(慶大), 長嶋雲兵(融合研), SWoPP2000(Summer United Workshops on Parallel, Distributed and Cooperative Processing : 並列/分散/協調処理に関するサマー・ワークショップ), 情報処理学会研究報告, 2000-HPC-82, 19-24 (2000).
[18] 中村 健太,波多江 秀典,原田 宗幸,上原 正光,佐藤 比佐夫,小原 繁,本田 宏明,長嶋 雲兵,稲富 雄一,村上 和彰, 計算機アーキテクチャ147-13 ハイパフォーマンスコンピューティング89-13, 情報処理学会研究会報告, HOKKE2002 (2002).
[19] Watanabe, S., Aono, M., and Tsukada, M., J. Vac. Sci. Technol. B, 12, 2167 (1994).
[20] Watanabe, S., Aono, M., and Tsukada, M., Phys. Rew. B, 44, 8330 (1991).
[21] Uchiyama, T. and Tsukada, M., J. Vac. Sci. Technol. B, 12, 2205 (1994).
[22] Uchiyama, T. and Tsukada, M., Surface Science, 313, 17 (1994).
[23] Kobayashi, K. and Tsukada, M., Phys. Rew. B, 49, 7660 (1994).


Return