平成16年度地球シミュレータ研究プロジェクト利用報告会

利用責任者名 :佐藤文俊(東京大学生産技術研究所)

プロジェクトサブテーマ1 : 「密度汎関数法による超大型タンパク質の全電子計算」

発表要旨

1.プロジェクトの目的

  本利用者らの目的は、密度汎関数法によるタンパク質の量子化学計算ソフトウエアProteinDFを地球シミュレータ(ES)に適用し、1,000残基規模の超大型タンパク質量子化学計算を実行することである。

2.今年度当初の計画

  H16年度では、C++でコーディングされたProteinDFの最終的なベクトル・パラレルチューニングES版を完成し、306残基タンパク質の全電子計算を実行する。時間があれば1,000残基規模のタンパク質全電子計算のための準備・改造を開始する。

3.今年度得られた成果、および達成度

<成果>

「プログラムの最適化に関する説明」は不要とあるが、本利用者の今年度計画の大部分はプログラムの最適化のため、これも併せて報告する。

  1. ProteinDFをESで高速に動作させるため、主にSX-6を使用して下記のベクトル化及び並列化チューニングを行った。本作業に関して株式会社NEC情報システムズ渡部様に感謝します。

    全ソース:1, 最強の最適化オプション(-Caopt)を指定してもプログラムが異常終了しないよう、異常終了部分を見つけ出し、その部分のみコンパイルオプションを通常の最適化(-Cvopt)に変更。2. 自動ではベクトル化判別ができない箇所が膨大にあり、可能な限り全て強制ベクトル化指示行を挿入。

    交換相関積分グリッド計算部:1. 計算条件を限定し、可能な限りif文をforループ外に出した。2. 一定間隔の配列アクセスを可能な限りforループを入れ替え連続アクセスに修正。3. ベクトル長が長くなるようループ入れ替え。4. if文が1, 3によっても排除できない場合、ループを分割してif文場合分け以外の部分をベクトル化。

    分子積分部:1. ループを分割した後、3重ループをループ展開とループ融合によって1重化。2. 2重ループの外側ループをアンローリング。3. 総和計算にワーク配列を使用。4. 入れ子構造の解消による、メソッドコールのオーバヘッドの軽減。4-1. 使用頻度の大きいSSS, SSP, SSD, PSS, PSP, PSD, PPS, PPP, PPDタイプの分子積分を全て手動でインライン展開。4-2. 4-1により発生した冗長計算部分の修正。4-3. ベクトル長が長くなるようループ入れ替え。
  2. ProteinDFの律速計算部は分子積分、交換相関積分、行列計算(積と対角化)である。行列計算はすでにASL/ESを使用している。3残基ペプチド鎖で性能測定をしたところ、Aのベクトルチューニングにより交換相関積分が4倍、分子積分が3倍高速化した。
  3. Aのプログラムの性能を3,12, 31残基ペプチド、最終的には104残基タンパク質シトクロムcを使用して、ESで測定中(2004/12/10現在)。このデータを基に12月を目処にノード拡張申請を行う予定。
  4. A, Bの結果から306残基のタンパク質の計算がESを使用して適切な時間内で実行可能であると予測される。計算対象はスプリットバレンス基底関数系における、306残基の対称性なしのインスリン6量体(4716原子、18552電子、26766軌道)である。長期的な糖尿病の治療にはインスリン製剤の注射による強化インスリン法が導入されている。インスリンは自己組織化の親和力が強く6量体で安定に存在する。しかし、作用するためには単量体に解離する必要があり、この過程が律速となっている。最近の遺伝子工学および医学製造技術の発展により、自己組織化能力の弱い速効型インスリンアナログ製剤が登場しているが、従来の古典的方法と比較して正確な物理量を与えるこのような量子化学計算がESを使用して高速に計算できるようになれば、さらに効率の良い製剤が設計できるかもしれない。

<達成度>