ホーム » お客様インタビューと導入事例 » 導入事例:立教大学 様

Share |

導入事例:

国産量子化学プログラム開発を支えるクラスタシステム

はじめに

ABINIT-MPは文部科学省『イノベーション基盤シミュレーションソフトウェアの研究開発(RISS)』プロジェクトおよびJST-CREST『フラグメント分子軌道法による生体分子計算システムの開発』プロジェクトにおいて、フルスクラッチで開発されてきた純国産のフラグメント分子軌道(FMO)計算のためのプログラムです。
2008年には地球シミュレータを利用して、インフルエンザの抗原(HA)と抗体の複合タンパク質(922残基、6-31G基底で78,390関数)の巨大系に対して電子相関を2次摂動論(MP2)のレベルで考慮した第一原理分子軌道計算を53.4分で完了させる成果をあげています。
今回はABINIT-MPのプログラム開発のメンバーである望月先生、中野先生、古明地先生に、プログラムの開発においてHPCシステムズ製の計算機システムをどの様にご利用されているかお話を伺う貴重な機会をいただきました。

インフルエンザ抗原抗体タンパク質の第一原理分子軌道計算に成功

ご研究の概要

ABINIT-MPプログラムは、1999年に現京大の北浦和夫教授により提唱されたフラグメント分子軌道(FMO)法に基づき、巨大生体分子の量子力学による電子状態計算を実現することを目的としています。
FMO法は巨大分子系をSP³炭素原子(BDAと呼ぶ)の位置でフラグメントに分割し、各フラグメントに対して環境静電ポテンシャルを課したシュレーディンガー方程式を解くため、並列処理に大変適しています。またFMO法のメリットとしては、フラグメント間の相互作用エネルギー(IFIE)解析によって受容体タンパク質の各アミノ酸残基とリガンド間の相互作用の様態を定量的に把握出来ることが挙げられます。このため、ABINIT-MPは特に創薬研究分野からの関心が高く、既に複数の製薬メーカーの研究開発現場で実用的に使われています。

望月さん
中野さんがハートリーフォック(HF)レベルで開発していた巨大分子系のFMO計算のためのABINIT-MPコードを、2003年に東大の生産技術研究所の『戦略的基盤ソフトウェアの開発』プロジェクトに参加して機能拡張する研究開発を始めました。2004年春頃にはファイルレスで並列処理可能なMP2法の高効率なプログラムが開発出来、200残基からなるHIV-1プロテアーゼのFMO計算をHPCシステムズ製(当時は HIT)の64コアのクラスタシステムを利用して、それまでの常識を打ち破る14.7時間で完了させました。この成果は、神戸大学の田中成典先生をリーダーとするFMO計算チームの提案がJST-CRESTの研究課題として採択されることにつながりました。
2006年に立教大学に移った後、励起状態や高次相関の方法論の実装も手がけ、定式化・アルゴリズム・プログラムの三位一体的な改良によってクラスタシステムから地球シミュレータまでFMO計算のパフォーマンスを向上させられるようになりました。

SSDで見直されるアルゴリズム

望月さん
最近、御社から導入したSSDスクラッチ付きのGaussian計算システムはとにかく高速でした。私は、今までディスクI/Oが重いのでディスクをなるべく長持ちさせようと(笑)MP2構造最適化計算はフルダイレクトの指定でずっとやってきました。それで、SSDスクラッチを活かしてデフォールトのセミダイレクトでやってみると、400軌道ぐらいの分子の計算でも、10時間くらいかかっていたのが5時間程、つまり半分の時間で済むようになりました。

望月さん
1980年代のはじめにアルムロフという方が、当時のCRAYのベクトル型スパコンの上でHF計算をする際にダイレクト法という革新的なアイデアを出しました。つまり、それ以前は2電子積分を一旦計算してファイルに書き出して保存しておいて、HFのSCF(self-consistent-field)繰り返し計算の間に読み込むというやり方をしていた。しかしそれだと、CPUの演算速度が速いのにI/O待ちで止まってしまって意味がないので、SCFの反復の中で毎回積分を計算する積分ダイレクト法を考えてスパコンの能力を活かすことが出来ました。このアプローチが、分散並列処理にも自然に拡張されて今に至っています。

中野さん
昔の計算機であれば、積分のところがI/Oのところでボトルネックになってしまって計算した方が速い状態だった訳なんです。SCF計算の場合、だいたい数十回繰り返しますからディスクを数十回読みにいく訳ですね。そのI/Oよりも再計算の方が速かった訳です。それが再計算しないで、SSDを読みにいった方が多分速くなってきていると思います。

望月さん
先ほどお話したファイル依存のHF計算は、いわゆるコンベンショナル法と呼ばれるものになります。SSD利用を前提にして分散処理すると、この古いやり方が復権する可能性があります。つまりお蔵入りになっていたアプローチがSSDによって蘇えるということで、分子軌道計算以外の分野でもレガシーもののアルゴリズム、あるいはプログラムシステムが再評価されるかもしれないですね。

中野さん
SSDを使うことで積分の再計算を減らせることによるスピードアップのメリットにはかなり期待しています。HFの積分計算では、小原法というアルゴリズムを使って計算しているんですけど、それなりに計算コストがかかって、post-HF法のようにBLASにうまくのらないので、できるだけ再計算を少なくしたいんです。

望月さん
SSDスクラッチの効果は、HFやMP2だけでなく、高次の電子相関計算でもっと顕在化してくるように思います。まだ本格的に大きな計算は試せていないのですが、QCISD(T)のようなスクラッチI/Oの重い計算ですね。もう一度、古い論文を読み返したり、アルゴリズムを見返しする必要性を感じています。

HPCシステムズ
昨年望月先生にSSDのことを聞かれたとき、ちょうどテストしていたんですね。是非使いたい、使用したいということで導入していただけたんですけど。次はですね本当はそこの部分、SSDを使ってという部分をもう少し弊社でもクローズアップしていって皆さんにご提供したいなって考えています。

case6

望月さん
現在、研究室の新しいXeonシステムのノードを倍増して、ノード間をInfiniBandでつないで並列化する実験をしつつあります。このマシンにはSSDも入れてありますので、結合クラスター展開(CC)を実装してテストするにはうってつけです。CCでは2電子振幅ベクトルと残渣ベクトルを対にして反復計算で最適化していきますが、その大きさは実タンパク質ではフラグメントのダイマーで一対としても数GBに達します。また、分子積分を毎回生成するのもトータルのコスト的に厳しいです。そこで、SSDをベクトルや積分の退避領域に使って効率よく実行出来ないかと考えていまして、多ノードでのテストもしたいということです。CCはMP2に比べて数十倍~百倍程度のコストになるので、本格的に応用計算をするならばスパコンが要りますが、メモリ環境も向上した地球シミュレータ2とかを試用させてもらって感触を掴みたいと思っています。

中野さん
今のABINIT-MPはノード内、ノード間全部MPIで二階層で並列化しているんですよ。FMOの場合はフラグメントに切っているので、フラグメント内の並列をまずMPIでやってフラグメント間の並列化もMPIでやっているんです。フラグメント内は、ノード内で計算するという前提にして下の方のMPIの階層化をOpenMPで置き換えた方がすっきりすると考えています。

望月さん
そうなのですが、CC計算ではコスト的にでは一ノードではちょっと無理なので、多層の並列化は要ると思いますが、まだ考え中です(笑)。

中野さん
Fock行列はとにかくメモリに入るようにしておいて、積分はSSDで退避させてしまえば非常にすっきりする。プログラムの構造とハードウェアの構造がパラレルになったほうが、ほとんどの場合、性能が出ますよね。

望月さん
FMO計算からはアミノ酸残基間の相互作用エネルギーのマトリックス、いわゆるIFIEが自然に出てきますが、時系列的に複数の構造サンプルを扱って計算するとなると、膨大なデータ量になりますね。

中野さん
IFIEからは、タンパク質の内部の相互作用情報を含んでいるので、神戸の田中先生のところでやっているようなIFIE-mapとかも出来ますし、FMO計算の強みですね。IFIEからは、もっといろんな知見が得られると思います。

望月さん
大規模データのマイニングだと、やはり大規模な高速アクセスが可能なメモリ空間にどんと展開してやる必要がありますが、その辺にSSDを利用した展開はあるのでないでしょうか。というか、おそらく業界は違うけれども、Googleとか金融とかでは既にやっているような気がします(笑)。

生体分子の第一原理分子動力学計算の実現に向けて

生体分子の古典分子動力学法プログラムにはAMBERやGROMACSなどがスタンダードなプログラムとしてありますがABINIT-MPと古明地先生が開発されてきた分子動力学プログラムのPEACHという二つのプログラムをシステムコールにより融合して、生体分子系の第一原理的分子動力学計算を行うFMO-MD法にも取り組まれています。

古明地さん
タンパク質の古典分子動力学計算の世界では、1980年代からいろんなプログラムパッケージが作られてきたんだけれど、2000年代前半にいくつか性能の高いのが抜け出して、今、プログラムの開発はかなり厳しいです。抜け出したのは、AMBER、CHARMm, NAMD, GROMACSといったあたりですが、どれも簡単に手に入って使えるんですよね。AMBERとCHARMmは老舗で、NAMDとGROMACSは新興勢力ですが。ともかく、古典分子動力学の方法論で何かやりたいという人は、自前で全部プログラムを作るよりは、そういうところのグループに入ってその中でデベロッパーの一人になった方がいいというような状況です。たとえばPEACHに手を入れて1.2倍速くしている間に、敵さんは2倍速くなりますから。それに速度だけじゃなくて、いろんな機能がどんどん進化しますしね。そんな感じで、家内制手工業では、古典MDではとても食べてけない。食い詰めてFMO-MDに逃げ込んだ、というのが正直なところです。

中野さん
古典分子動力学法は方法論はかなり完成していると思うんですけど、力場に関しては多分限界があると思います。二体の固定電荷の力場はかなり完成度が高いと思うんですけれど、分極や電荷移動の扱いとか三体項まで含めた力場で実用的なものが作れるかというとなかなか厳しそうですよね。そういう意味で第一原理分子動力学が必要になると思います。

望月さん
第一原理分子動力学計算はこれからさらに発展すると思ってます。凝集系のシミュレーションとか化学反応の解析といった今まで出来なかった千分子程度の系で長時間の計算が実現されていくと思います。現在、QM/MM法でも多数の興味深い成果も報告されているのですが、やっぱりクロスリファレンスという意味でも丸ごと量子論的な扱いをすることには意味があるはずで、その一端をFMO-MDでやっていけるとおもしろいのではないかと。
タンパク質ではフォールディングのシミュレーションとかは古典分子動力学の世界だと思いますが、電子移動とか酵素反応とかで量子化学計算が欲しいですね。

HPCシステムズへの期待とご要望

望月さん
2006年春に立教に来て以来、御社にはC/Pが高く、しかも頑丈な(笑)計算機を納めていただいて助けられています。また、私たちのようにプログラム開発もやっていると、技術的な情報や手厚いサポートをいただけるのもありがたいところですし、こちらの希望のフィードバックも出来ているのかなとも思います。計算機業界の技術進歩は速いですし、だんだん加速していってる気もする(笑)のですが、利用者サイドとの相互交流も踏まえて、魅力ある計算機を今後ともリーズナブルに提供いただきたいですね。

望月さん
続けてなのですが、御社の得意分野のスポットとは違うとこかもしれないですけど、数千万クラスの製品のラインナップも持っておられますが、今後は大々的に展開していかれるのはいかがでしょうか。まぁ、自分たちでそうしたマシンを購入出来る大きな予算がもしも取れれば、という仮定法の話になってはしまいますけれども(笑)。

中野さん
サポート対応は重要ですね。台数が多いから壊れても皆さんある程度は仕方ないと思ってるけど、そのときの修理のサポートとかで印象が全然変わりますからね。

古明地さん
研究者の世界は狭いので。基本的に伝わりますからね。

中野さん
実際導入したところの評判がどうだったというのは購入の際に重要視します。そういう意味では安定してちゃんと動くマシンをコンスタントに出していと自然に評価があがっていくと思いますね。

望月さん
文科省とかJSTの公募を取って得た予算で購入するマシンでは、入れたらすぐに使えてトラブルも無いのが理想です。といいますか、当たり前だと思うのですが、実際にはいろいろありますね、他のグループの方からの話も含めて聞いてみると(笑)。実際には、メーカーさんのトラブルの迅速対応を含めた技術力というのが、購入先を選ぶ際のポイントにはなりますね。

中野さん
サポートであと欲を言えば例えばコンパイルオプションだとかBLASのチューニングをどうするかとか、MPIなりOpenMPのチューニングで、もうちょっとサポートがあるといいかもしれないですね。大体自前で済ませちゃうんですけど、こういう風にやった方がより高速化できるとかそういうのが聞けるといいなとは思いますね。

さいごに

各先生は計算科学ソフトウェアの輸入超過の現状を危惧されています。国産量子化学コード群の開発を維持堅持し、さらに発展させていく努力を続けていかなくてはならないとの強い意志をお持ちで、日々研究開発に取り組まれています。

望月さん
日本でよく使われている分子軌道計算のプログラムとしては先ずGaussianがあり、次いでGAMESSでしょう。しかもGAMESSには、FMOの各種計算機能が北浦先生や産総研のFedorovさんの尽力で先行的に入っています。それではなぜ、中野さんや私がそれでもプログラムを作り続けるかっていうと、式を実装していく技術とかノウハウというのは継続して護っていかないと駄目なんですよね、一種の伝統工芸とか伝承技能のようなところもありまして。特に、ラインバイラインで書き下していくと初めて見えてくる高速化のポイントとかがあって、それをシステムエンジニアの人とか計算機科学の人と話してここを直したらどう速くなるとか、そういうことも出来る訳です。そうした自主開発の部分は、やっぱり捨てない方がよくて、欧米のソフトで全て事足りるというのはどうかと。もっとも、CPUとかMPIとかの計算機の基盤技術はアメリカ製ではありますけれども(笑)。

中野さん
Gaussianも結局巨大系に対してQM/MM (ONIOM)しか多分来ないでしょうから、そういう意味では切分けというか、被らない棲み分けができると思います。

望月さん
計算化学をやるのであれば、出来ればフルスクラッチでプログラムをつくって、それを活用して大きな計算をしたいというのが、個人的な拘りとしてはあります。そうして、これまでにないような巨大な計算を高速にやれたら感動も違うといいますか(笑)。

中野さん
アルゴリズムは、日本人は結構出してますよね。小原先生の積分法にしろ、フラグメント法は北浦先生でしょ。

望月さん
方法論としては、諸熊先生のONIOMもあってQM/MMのスタンダードの一つとしてGaussianに実装されて広く使われていますし。また、先ほど話題にしましたがFMOはGAMESSでも利用されているわけですが、やはり純国産のFMOプログラムの開発は自分たちの手で続けていきたいですね。

2009年8月掲載