2024 Volume 23 Issue 1 Pages 4-8
In August 2023, we released the latest version of our ABINIT-MP program, Open Version 2 Revision 8. In this version, the most commonly used FMO-MP2 calculations are even faster than in the previous Revision 4. It is now also possible to calculate excitation and ionization energies for regions of interest. Improved interaction analysis is also available. In addition, we have started GPU-oriented modifications. In this preliminary report, we present the current status of ABINIT-MP.
In August 2023, we released the latest version of our ABINIT-MP program, Open Version 2 Revision 8. In this version, the most commonly used FMO-MP2 calculations are even faster than in the previous Revision 4. It is now also possible to calculate excitation and ionization energies for regions of interest. Improved interaction analysis is also available. In addition, we have started GPU-oriented modifications. In this preliminary report, we present the current status of ABINIT-MP.
タンパク質やDNAなどの生体分子系に対する分割-統治系の計算手法の中では,大規模並列処理との相性が良く,相互作用解析に好適であることから,フラグメント分子軌道(FMO)法 [1, 2]は最もよく使われてきている.私たちが研究開発とリリースを続けているFMOプログラム ABINIT-MP [3, 4]のOpenシリーズに関しては,本誌で継続的に報告してきた [5,6,7,8,9,10].最新のリリース版は,2023年8月25日付で纏め上げたVersion 2 Revision 8 (以下,Ver. 2 Rev. 8) [11]である.本稿では,Ver. 2 Rev. 8の特徴を紹介した後,ベクトル機であるNEC SX-Aurora TSUBASA (SX-AT)環境での実行,並びにGPUへの対応についての現状を紹介する.
ABINIT-MPの応用計算ではFMO-MP2が標準的に用いられているので,ここでは実タンパク質の例としてHIVプロテアーゼにロピナビルが結合した複合体(PDB-ID=1MUI;203フラグメント)を取って高速化について記す.基底関数は6-31G*に比べてs関数の縮約が長く改良の効果がより見えるcc-pVDZとし,MP2の積分変換は全段DGEMM処理 [12]に設定した.Table 1に,「富岳」と同じ富士通A64FXスパコンである名古屋大学のスパコン「不老」Type Iサブシステム上で,OpenMP/MPIの混成並列で実行したタイミングをまとめた(24スレッド/204プロセス).改良前のVer. 1 Rev. 22 (2020年6月3日付リリース) [9],積分ルーチン群のSIMD化などの一次改良を行ったVer 2 Rev. 4 (2021年9月16日),それに積分ルーチンに対してループ分割,Fock行列構築からのif分岐除去,さらにモノマー段階での2電子積分のバッファリングを追加改良 [10]を施したVer. 2 Rev. 8を比較すると,HF/SCFが速くなっており,特に自己無撞着電荷(SCC)反復を伴うモノマー段階での加速がVer. 2 Rev. 8では顕著である.Dimer-ESとMP2でも積分生成の改良の効果が見える.トータルでの加速は,Ver. 1 Rev. 22比で1.6倍で,Ver. 2 Rev. 4より高速化されている.なお,このベンチマークテストでは指定していないが,モノマーSCCのアンダーソン加速で密度行列をベースにするオプションも追加しており,系によっては通常のFock行列ベースより反復回数が減って実行時間がさらに短縮される場合もある.
Ver. 2 Rev. 8では,タンパク質の巨大な液滴モデルでフラグメント総数が2万程の場合でも,水のクラスタリング処理を行うPythonスクリプトで実効フラグメント数を削減して計算できるようになった [10].これにより,新型コロナウイルスのスパイクタンパク質のクローズ型(PDB-ID=6XLU; 糖鎖付き)のMD由来の水和モデル群を「富岳」の8ラック(3,072ノード)ではFMO-MP2/6-31G*レベルで1構造(実効1万フラグメント)あたり2時間で容易に処理できた.
機能面では,先ず相互作用エネルギー(IFIE)の詳細分割であるPIEDAの強化 [13]を挙げる.PIEDAでは,IFIEを静電(ES)項,交換反発(EX)項,電荷移動等(CT+mix)項をHFレベルで算定し,MP2などから得られる相関エネルギーを分散力相互作用(DI)項とするのが慣例である.しかし,相関導入ではHFでの過剰イオン性を低減する寄与が本質的に含まれるため,相互作用のタイプによってはDIとして括るのは問題が生じる.そこで,局所応答分散(LRD) [14]による分散力安定化を分離してDI(LRD)として分離評価可能とした;以前は,別にLRDを指定した上でFMO-HFジョブを実行する必要があった [15].もう1つのPIEDAの機能追加は,FMO-RESP電荷 [16, 17]によるES項の参考算定値の提示である.IFIE/PIEDAでは,静電相互作用がしばしば過大評価されることが知られており,解釈には注意を要する場合があった.そこで,RESPの点電荷間の古典的静電相互作用エネルギーをフラグメント間でES(RESP)として求めることにした.DI(LRD)とES(RESP)の使用例は,文献 [13]を参照されたい.
Ver. 2 Rev. 4では多層FMO近似の下で,注目領域でのMP2 [12]とMP3 [18]の扱いが可能となっていたが,Ver. 2 Rev. 8では励起エネルギーとイオン化エネルギーの算定が加わった.スキームの詳細と応用例は前報 [10]に記しているが,励起エネルギーではCIS [19]と2電子励起補正のCIS(D) [20]の独自実装 [21, 22]をベースに高次励起の寄与を考慮した補正 [23, 24]も可能となっている.また,イオン化エネルギーでは,2次グリーン関数(GF2) [25]で問題となる局在性軌道からのイオン化での過小評価を改善するpGW2スケーリング [26]も利用できる.
励起状態に関連しては,分子凝集体でのフラグメント/ユニット間の電荷移動のカップリングパラメータをFMO-LCMO [27]スキームに基づいてCISレベルで算出する機能 [28]も追加された.これは,量子科学技術研究開発機構の藤田貴敏氏のモジュールの移植に依る.有機系の機能性材料の評価に有用と思われる.
前報 [9, 10]で,SX-ATでのFMO-MP2計算のベクトル化チューニングについて報告している.2電子積分生成周りに関しては一段落しており,Ver. 2 Rev. 4のベクトル版を東北大学のAOBA-Aにライブラリとして導入済である(2023年9月7日付).AOBA-Aのベクトルエンジン(VE)の型はVE20なのに対し,新規のAOBA-Sはコア数が2倍のVE30に更新されているので,両者でのベンチマークを新型コロナウイルスのメインプロテアーゼ+N3リガンドの複合体(PDB-ID=6LU7; 395フラグメント)のFMO-MP2/6-31G*ジョブ(flat MPI実行)で比較してみた.その結果,VE20の512プロセス(VE数は64)での1,017秒が,VE30の1,024プロセスでは593秒となり同一のVE数ではVE30はVE20の1.7倍高速であることがわかった.また,プロセス数を512で合わせたVE30(VE数は32)では903秒となり,VE20に比して1.1倍の改善となった.後者の比較では,VE30でのL3キャッシュの新設が効いていると考えられる.
MP3ではDGEMM主体のテンソル縮約処理が支配的となるため,ベクトル化による加速が効果的である [18].そこで,NEC社内のVE20機を使って上出の複合体6LU7を混成並列で計算をしてみた(VE数64; 8スレッド/64プロセス).基底関数は6-31G*で,メモリ設定を2通りで試したが,MP3での積分生成のバッチ数は共に1である.結果をTable 2に示すが,FMO-MP3でFMO-MP2の演算量(Op. Cnt.)が5.5倍となっても,ジョブ時間の増加としてはメモリ割当が大きい場合は2.6倍で済んでおり,ベクトル実行のメリットが確認できる.
GAMESSのグループではGAMESS本体のGPU対応 [29, 30],GPU向けの高性能FMOプログラムの新規開発 [31]が並走して進められている.国内でも,Yasudaら [32, 33],Umedaら [34, 35],Kitoh-Nishiokaら [36]のGPU対応の先行事例があるが,いずれも要所は2電子積分関係の加速である.ABINIT-MPのGPU対応のきっかけとなったのは,2022年度下期の東京大学情報基盤センターの支援プログラムで,HF計算のコア部分を切り出して作成したミニアプリケーション(以後,ミニアプリと略記)の改造とテストである.次段落に概要を記す.
ABINIT-MPの2電子積分の計算は,Obaraの垂直漸化式関係 [37]に従って自動ツールで生成された{s, p, d}関数の組み合わせ34=81種のルーチン群によって行われ,これは元のミニアプリも同様である.この81種をGPUの豊富な演算コアをバッチ的に満たせるように26種に再構成(一部の積分では対称性の冗長性が残存)し,Fock行列への加算もまとめたのが改造のポイントである.ここで,演算量とメモリ要求との兼ね合いから,d関数が4つの積分(形式的に[d4]と略記)とd関数3つとp関数1つの積分([p1d3])はCPUで処理し,s関数4つの積分([s4])からd関数2つとp関数2つの積分([p2d2])まではGPUにオフロードする形になっており,実行の制御はOpenACC [38]による.Table 3は,実際のFMOでのダイマー計算を想定してTrp - Tyrの対を対象とし,東京大学の「Wisteria」 Aquariusサブシステムを使ってGPU化したミニアプリのベンチマークテストを行った結果である(MPIプロセス数は8で1つのGPUにオフロード).GPU化によって,6-31G*基底で6.4倍,s関数の縮約の長いcc-pVDZ基底では8.2倍の加速が得られており,試金石としては及第レベルと思われる.
改造されたミニアプリを参考に,ABINIT-MP本体のGPU化の方針を詳細に検討し,先ずFMO-HFレベルでの改造に着手した.2024年1月の時点で,2電子積分ルーチン群については冗長性を廃した21種に再構成が終わり,OpenACCによる制御の導入を進めている.
開殻系の扱いについては,UHFがエネルギー微分まで [39],電子相関の補正はUMP2で可能である.しかし,スピン汚染の問題があり,開殻遷移金属イオンを中心に持つタンパク質や水和錯体の扱いは困難であった.そのため,ROHF系も実装することになった.2023年秋のABINIT-MP作業版では,開殻フラグメント数を1つとし,開殻軌道数5の6重項までの実装を終えている(結合定数はプリセット).2024年度中に,開殻フラグメントが複数存在する系の扱いと共に,収束性の改良を進める.相関計算については,既存のUMP2モジュールの流用が可能なKnowlesらのRMP2 [40]を実装する.
本稿では,ABINIT-MPのVer. 2 Rev. 8の概要,SX-ATでの性能評価,GPU化の状況,今後の開殻系への対応についてまとめて報告した.本稿の改定中(2024年1月),Ver. 2 Rev. 8は「富岳」でSpackライブラリとして利用可能になった [41].併せて,「不老」に対しても公開用パッケージを納品した.
最後に,GPU化について付記したい.ネクスト「富岳」のフィジビリティスタディが進められているが,「演算加速器」の搭載が想定されており,実体としてはGPUが有力と思われる.また,最近,アプリケーションソフトウェアの立場からネクスト「富岳」を意識した計算科学の諸分野の将来展望をまとめた文書が公開された [42].ABINIT-MPの整備・改良を進め,ネクスト「富岳」を頂点とする次世代のHPCI資源を活用したFMO計算のための準備をこれからも進めていく必要がある.
ABINIT-MPのVer. 2系の改良は,JHPCN課題jh210036-NAH/jh220010/jh230001:「FMOプログラムABINIT-MPの高速化と超大規模系への対応」の中で進めてきています.また,大規模な応用計算を通じた検証は,「富岳」のHPCI課題hp210026/hp220025/hp230017:「新規感染症のための計算科学的解析環境の整備」の枠で行いました.SX-AT向けのベクトル化は,日本電気(株)との共同研究に拠ります.励起状態でのカップリングパラメータ算定モジュールの移植では,支援をいただいた(株)JSOLの小沢拓氏と新田浩也氏に感謝します.HFミニアプリのGPU対応は,東京大学情報基盤センターのGPU移行推進プログラムの中で,エヌビディア合同会社の古家真之介氏のコーディネートで成されたものです.また,同センターの中島研吾先生,下川辺隆史先生,芝隼人先生(当時)のサポートにも感謝します.最後に,本研究開発は立教SFRの資金援助を受けていることを記します.