2021 Volume 20 Issue 4 Pages 132-136
We have been developing the ABINIT-MP program for fragment molecular orbital (FMO) calculations over 20 years. In 2021, the Open Version 2 series has started for large scale systems consisting of more than ten thousand fragments. This letter describes the current status of ABINIT-MP, including the speed-up as well as the situation of distributions over supercomputing facilities in Japan.
We have been developing the ABINIT-MP program for fragment molecular orbital (FMO) calculations over 20 years. In 2021, the Open Version 2 series has started for large scale systems consisting of more than ten thousand fragments. This letter describes the current status of ABINIT-MP, including the speed-up as well as the situation of distributions over supercomputing facilities in Japan.
フラグメント分子軌道(FMO)法 [1, 2]は,分割-統治系の計算手法の中で最もよく使われている.私たちが独自開発してきたABINIT-MPプログラム [3, 4]のOpenシリーズのVersion 1 (以下Ver. 1と略記)系の開発・整備状況についてはRevision 22 (Rev. 22)まで本誌で継続的に報告してきた [5,6,7,8].Openシリーズは2021年秋,高速化と1万フラグメント超の大規模系への対応を意図してVer. 2系に移行した.本稿では,Ver. 2系の整備方針,富士通のA64FXスパコンでの改良の状況,NECのSX-Aurora TSUBASAベクトル型スパコン(SX-AT)での高速化,ならびに国内のHPCI拠点での整備状況をまとめる.
2020年度の「富岳」での新型コロナウイルスの特別プロジェクト [9]では,メインプロテアーゼ [10, 11]とスパイクタンパク [12,13,14]質に関してFMO相互作用解析を実施した.前者では,分子動力学(MD)シミュレーションとの連携 [15]によって,水和環境での多サンプル構造の一括FMO計算によって揺らぎを含めた統計的な評価を行えた.一方,後者では残基総数が3.3千と大きいため,Ver. 1 Rev. 22 [8]では水和されたモデルを扱うことは不可能であった.こうした「苦い経験」に基づき,FMOでは標準的なメラープレセット2次摂動(FMO-MP2)計算に関し,「富岳」などのA64FXスパコンでVer. 1 Rev. 22比で数倍の加速,数万フラグメントの大規模水和タンパク質モデルの扱いをVer. 2系の整備方針の主目標に据えた.特に高速化に関しては,ハードウェアに詳しい計算機科学の専門家との共同作業が本質的であるため,開発に関わるメンバーも刷新した.
Ver. 1系では,可視化による相互作用解析をサポートするBioStation Viewer (BSV)との接続を保持してきた [4].しかし,そのためにCheck Point File (CPF)の書き出し用にフラグメント数の自乗的な大きさを持つ配列を複数保持する必要があった.スパコンのコア・CPU数に対するメモリ量の増加は今後も限定的と予想されるため,大規模化の対応を最優先して「FMO計算の実行には非本質的な配列」を順次削除する決断をし,CPFの書き出しを無効化した.この判断の背景には,MD連携による多サンプル構造のFMO計算の事例の増加 [10, 11, 16, 17]によって,(結晶由来の)単一構造での詳細解析の有効性が以前に比べて低下しつつあることもあった.代わりに,Pythonスクリプトによる統計評価,あるいは機械学習の利便性のために記述子群を含む相互作用エネルギーのダンプ機能を新規に導入した.
Ver. 2系の最初のリリースは,2021年9月のRev. 4 [18]であり,A64FX上でVer. 1 Rev. 22との比較で1.2-1.3倍高速化され,1万フラグメント超の扱いが可能となった(次章で記述).機械学習データのダンプ以外の機能強化としては,ローカル版で動いていたHF線形応答による動的分極率の算定 [19]の移植がある.Figure 1は,直鎖のドデカン分子のcc-pVDZ基底での計算例である(フラグメント分割数は4つ).分極率は,光学系機能性分子の基本的な物性値であり,DFTに比すとHFでは過小評価傾向はあるが,置換基の影響の相対評価やクラスターモデルを用いた分子凝集の影響チェックなどには有用であると思われる.
Polarizability results of dodecane (cc-pVDZ).
Ver. 2 Rev. 4でのA64FX向けの高速化の手法の1つは,ループ処理のSingle-Instruction/Multiple-Data (SIMD)化である.試行錯誤と性能チェックを容易とするため,小型のAla9Glyモデルを用い,2ノードで12スレッド×8プロセスのOpenMP/MPI混成並列のFMO-MP2/6-31G*ジョブを対象として作業を進めた.初期段階のプロファイリングで,2電子積分の生成が全コストの約1/2を占め,生成された積分からHF計算を行うためのリストの作成とDirect-SCFが1/4を占めることが分かった.MP2計算は,生成された2電子積分を4段階で線形変換する部分がコストを決するが,DGEMM処理 [20]が可能なことと,積分生成がこの系では一度で済むために目立たない.そこで,先ず2電子積分の生成を高速化の対象とした.ABINIT-MPの積分エンジンは小原の漸化式アルゴリズム [21]に基づき,自動生成ツールによって関数タイプの4つの並びに応じて作成されている.相対コストの高い(ss|ss)~(ss|sd)の15個のルーチンにOCL指示詞の挿入と一部作業配列のスカラ変数化を行うと共に,コンパイラオプションも見直し,20-30%ほどの加速を得た [22].
Ver. 2 Rev. 4のリリースのまとめでは,上記の積分のSIMD化の他,既述のCPF関連配列の一部削除,プリント出力のコントロールなども行った.Figure 2に,残基総数3.3千の新型コロナウイルスのスパイクタンパク質のクローズ型(PDB ID=6VXX) [12]のFMO-MP2/6-31G*計算を,「富岳」の8ラック(48スレッド×3072プロセス)でVer. 1 Rev. 22とVer. 2 Rev. 4の夫々で実行したタイミングを示す.Ver. 2 Rev. 4では積分のSIMD化が奏功して1.2倍の加速を得てはいるが,こうした大型系では環境静電ポテンシャル(ESP)を決するモノマーSCCが半分以上のコストを占めるため,この大反復の回数を減らす必要性を示す結果ともなっている.
Timing data of FMO-MP2/6-31G* job for 6VXX on "Fugaku" supercomputer.
次に,大規模系の扱いの例を記す.インフルエンザウイルスのヘマグルチニンと2個のFab抗体の複合体(PDB ID=1KEN)の水和モデルでタンパク質部分が2.2千残基,水とイオンを合わせて総数1.1万フラグメントの系(MDで構造を作成)が「富岳」の8ラックを使い,FMO-MP2/cc-pVDZ計算で3.3時間,作業メモリの要求が増すMP3計算 [23]でも6.7時間で完走した.Ver. 1 Rev. 22では6千フラグメント程が扱える限界であったが,2千残基程度までのタンパク質の水和系は,「富岳」のようにノード数を積める実行環境が前提ではあるが,Ver. 2 Rev. 4では直截に計算可能となった.
Ver. 2 Rev. 4でのリリースを意図してのA64FX向けの高速化と並走する形で,Ver. 1 Rev. 22のMP2計算をSX-ATに対しても高速化した.SX-ATでのコスト分析は,新型コロナウイルスのメインプロテアーゼ+N3リガンドの結晶構造(PDB-ID=6LU7) [24]のFMO-MP2/6-31G*ジョブをflat MPI実行して行ったが,プロファイルは前出のA64FXの場合とほぼ同様で,2電子積分生成がコストの1/2を占めた.積分生成ルーチンは文献 [20, 23]の段階でベクトル機対応がなされていたのだが,アーキテクチャーの進化とメモリバンド幅のバランスが変わり,再度の最適化が必要となった.詳細調査の結果,角運動量和が大きくなる積分ルーチンのループ内の演算量が多くなって発生するレジスタスピルが性能低下の要因であることが分かったため,9個のルーチンに対して手動でループ分割などの改良を加えた(A64FX用の改造ルーチンと必ずしも一致していない)後,コスト上位の他のルーチンを改良した.その結果,64ベクトルエンジンを使った512プロセスでの処理では,上記の6LU7のMP2ジョブ時間は6534秒→1413秒に短縮され,加速としては4.6倍となった.2021年12月時点で,Ver. 2 Rev. 4系へのベクトル化改良部の移植を行っているところである.
2021年は,ABINIT-MPのHigh Performance Computing Infrastructure (HPCI)拠点でのライブラリ整備(実行バイナリと例題セットの提供)にも力を入れた.Table 1にVer. 1 Rev. 22 (=V1-R22)とVer. 2 Rev. 4 (V2-R4)の導入状況をまとめた.拠点毎にCPUタイプも示しているが,北大から九大まで,国内の主だったスパコンセンターへの導入が達成されており,一般の利用者が使えるようになっている(複数のCPU記載はサブシステム構成に拠る).
普及活動としては,これまでもハンズオンセミナー(コロナ禍の影響でこの2年間はオンライン)を実施しており,毎回募集定員に達する参加者をいただいている.
Ver. 1 Rev. 22を併存させているのは,BSVの利用者が未だ居られるのと,軌道レベルの可視化解析 [25, 26]が有効・必要なケースがあるためである.センター毎のスパコン機種やFortran言語環境の変更に応じて,Ver. 2系に併せてVer. 1 Rev. 22を維持する予定である(ただし,高速化や機能追加は行わない).
開発グループの作業版では,2電子積分の添字の同値性を(1/2)n(n=1,2,3)で考慮してif分岐を排したループへの変更により,HF部分で30%の高速化が得られている [22].モノマーSCCでのESP外挿法の加速オプションの追加,各ダイマーの結果集計の改良なども図っている(継続中).また,A64FX向けでは2電子積分生成のSIMD化に加えてレジスタスピル低減のためのループ分割も一部試みている.これらを組み合わせて,Ver. 1 Rev. 22比で2倍近い加速が得られるテストケースもある.大規模化については,水クラスターではあるが,2万フラグメント超のFMO-MP2/6-31G*計算が動作しており,配列の整理をさらに進めてタンパク質の水和系でも可能としたい.
相互作用解析ついては,Local Response Dispersion (LRD) [27]によって分散力系の安定化の寄与を相関エネルギー補正から分離評価する機能が追加される(文献 [13]に使用例あり).また,Configuration Interaction Singles (CIS)と摂動論的相関補正(CIS (D)系)による励起エネルギー計算 [28,29,30,31,32],スケーリング修正付き2次グリーン関数によるイオン化ポテンシャル算定がローカル版から移植される(作業中).これらの物性値の算定機能は生物物理分野だけでなく,機能性分子の設計にも利用できる.
こうした改良と機能追加を反映するVer. 2 Rev. 8は2022年8月にリリースの予定で,HPCI拠点でのライブラリ登録も順次進めていく.なお,部分構造最適化については,MD-FMO連携による多構造の統計的相互作用解析を重視する方向にシフトしたこともあり,Rev. 8の後でいかに再整備していくか検討している段階である.
A64FXでの高速化と大規模化対応は,JHPCN課題jh210036-NAHの中で進めている他,SS研の活動とも連動しており,富士通(株)の井上晃グループの協力をいただいている.関連する「富岳」でのテスト計算は,HPCI課題hp210026の中で行っている.また,SX-AT向けのベクトル化は,NEC (株)との共同研究に拠る.HPCI拠点へのライブラリ整備やハンズオンセミナーでは,(一財)高度情報科学技術研究機構(RIST)に協力いただいている.最後に,スパコン利用に関して様々なご支援をいただいている東京大学の加藤千幸先生,吉村忍先生,中島研吾先生に感謝して本稿を閉じる.