Journal of Computer Chemistry, Japan
Online ISSN : 1347-3824
Print ISSN : 1347-1767
ISSN-L : 1347-1767
研究論文
Intel Xeon Phi上でのSMASHによる並列化DFT計算の性能評価
齊藤 天菜望月 祐志山崎 大石村 和也
著者情報
ジャーナル フリー HTML

2016 年 15 巻 4 号 p. 92-96

詳細
Abstract

Intel Xeon Phiプロセッサが科学技術計算用のメニーコアプロセッサとして注目を集めている.私たちは,高い並列性能を持つ分子軌道計算プログラムSMASHを用い,DFT計算に関して第一世代Phi (Knights Corner)上のネィティブモードで性能評価を行った.その結果,実60コアから論理120コアへ増分したマルチスレッディングの領域でも1.4倍程の加速が得られることが分かった.これは,第二世代Phi (Knights Landing)でも好ましい性能が得られると期待させるものである.

1 序論

Intel Xeonに代表される高性能サーバ向けのCPUのメニーコア化が進んできており,最近ではプロセッサあたりで20コアを超えるものも出てきており,ノード内でのOpenMPによる共有メモリ型のスレッド並列,ないしノード間でのMPI/OpenMP混成並列が普及している.一方,数値演算のための加速器をCPU (主プロセッサ)に併設して更に加速を得ようというアプローチも研究されている.2010年に出た並列化分子軌道(MO)計算のレビュー [1]では,最後のまとめのところでGPGPUの可能性が触れられている.実際,安田 [2]の2008年の積分生成の試みを初めとして,種々の手法について報告がなされてきた [3,4,5,6,7,8,9](特に,J. Chem. Theoy Comp. 誌に多い).また,TeraChem [10]のように専用プログラムも開発されているが,既存のプログラムの改造の場合,メモリ割り当てのブロック化•最適化を含めた相当量の書き換えとチューニングが必要となる点はGPGPUを使う難点である.GPGPUの最近の国内の報告例では,梅田ら [11]と中井ら [12]のものがある.

Intel Xeon Phiの第一世代Knights Corner (以下KNCと略記する)は,PCI経由で副プロセッサとして使う.KNCはオフロードモードで主プログラムから分岐してコストの高い箇所を処理する使い方,ネィティブモードでPhi上で全てを実行する使い方がある [13]が,スレッド並列の場合は後者の方が直截であることは明らかであろう.さらに,出荷の始まっている第二世代のKnights Landing (以下KNLと記す) [14,15]では自己起動が可能(self-bootable)であることから,小規模なサーバからスーパーコンピュータまで,ネィティブモード実行が主流となっていくと思われる.

MO計算の分野では,現時点でGPGPUに比すと数は少ないがKNCでの報告がある [16,17,18,19].私たちも,2電子積分のコレスキー分解 [20]を用いた3次摂動計算 [21]のプロトタイプコードを使ってKNCで上記の二つのモードを比較した経験を持っており,ネィティブモードの有意性を確認している [22].

本稿では,石村によって開発されている,高い並列性能を誇るMOプログラムSMASH [23]のDFT計算をKNC上でネィティブモード実行でベンチマークテストをした結果をまとめる(一部は [24]でも報告済み).SMASHのDFTモジュールは,フラグメント(FMO)分子軌道法プログラムABINIT-MP [25]に2016年度内に移植されることになっており,今回のテストはFMO-DFT計算の性能評価のための事前準備としても位置付けられる.

2 計算サーバ

ベンチマークに用いたのは,主プロセッサとしてXeon E5-2640 (2.50 GHz, 6 cores)を2個搭載し,さらに副プロセッサとしてXeon Phi 5110P (1.053 GHz, 60 cores: KNC)を1つ持つ単一ノードのサーバで,主メモリは64GBが搭載されている.KNCのコア数は60と多いが,クロック周波数は低く設定されており,多スレッドによる加速を前提としている.コンパイルとライブラリの環境は,Intelの標準的なものをそのまま用いた.

並列実行は,実1コアを論理4コアとするハードウェア的マルチスッディング [13](ここではHTと記す)処理を含めてOpenMP下でネィティブモードとした.この理由は二つある.一つは,オフロード実行では作業配列が大きくなると主/副メモリ間でのデータ転送がボトルネック要因となることが分かっているためである [22].もう一つは,ABINIT-MPにSMASHを導入してFMO計算を多ノードのサーバで行う際,フラグメントのタスクリスト制御の構成上 [25],SMASH部分はOpenMP/ネィティブモードの実行とすることが前提なためである(多ノードのサーバ,あるいはスーパーコンピュータでの利用時).

3 SMASHのDFT計算とベンチマーク分子種

対象としたSMASHのバージョンは1.2.0 (2015年秋)である.ここで,SMASHの並列処理の特徴を幾つか記すことにする.先ず,OpenMPのオーバーヘッドを減らすため,Fock行列の構築などMO計算の全コストを決している2電子積分計算における4重ループの最も外側のループをスレッド並列化している(SPシェルは分割して扱っている) [26].さらに,演算量の多いインデックスから動的に割り振ることで並列化効率を高めている.今回のベンチマークテスト用のSMASHのバイナリは,-mmicオプションでコンパイルして作成した.

DFTはB3LYP法 [27](この1.2.0版では交換汎関数はGaussianではなく,GAMESSに準拠した実装であった)とし,基底関数には6-31G* [28]とcc-pVDZ [29]を取った.ベンチマークに使った分子は,アダマンタン(C10H16),Figure 1に示すスーパーアダマンタン(後出のTableでは頭にS-を付けて略記:C35H36),C60(Figure 1に有),アデニン-チミン(水平方向の水素結合対(HB),垂直方向のスタッキング対(ST)の2種),シトシン-グアニン(同様の2種でFigure 2をご参考)の合計7種で,エネルギーと勾配(核座標の一次微分)を計算した.なお,SMASHではB3LYPの反復の前に通常のHFの反復を行い,収束したHFのセットを入力軌道としている.もちろん,DFTでの数値積分も2電子積分同様に注意深く並列化されている.

Figure 1.

 Super-adamantane (left) and C60 (right).

Figure 2.

 Cytosine − Guanine base pair; Hydrogen-bond (HB: left) and Stacking (ST: right).

4 ベンチマーク結果と考察

先ず,Table 1にアダマンタンの実60コアを基準としたタイミング(内訳有)と実行加速率(以下,単に加速率と記す),並列化効率をまとめる.ここで参考までに記しておくと,6-31G*のエネルギー計算でXeon主プロセッサ6コアでの時間が33.9sで,KNCの60コアとほぼ同じあり,Phiでの多スレッドの必然性が分かる.HFの前段階に比すと,B3LYPでは汎関数の数値積分を伴っているためにコストは大きくなる.また,勾配計算はエネルギーのみに比べると1.8倍程の時間の増加となる.基底関数の違いでは,(Hを除く) 重原子のSシェルの短縮長がcc-pVDZでは6-31G*よりも長く,H原子にも分極p関数を置くこともあり,cc-pVDZは6-31G*の2倍近いコストがかかる.

Table 1.  Timing data of DFT calculations for adamantine.

次にTable 1で加速を見る.60 → 120のHT増分での加速は,どちらの基底関数でも140%(1.4倍)を超えており,効率的には70%超となっている.また,論理240コアの場合でも1.7倍程の加速(効率は40%ほど)となる.この結果は,KNCのHT実行による加速の有効性を示している.

次に分子種を変えての結果に話を進める.粒度的には,既述のようにs関数を含む2電子積分の演算時間が6-31G*よりも長くなり,結果的に負荷分散がより均等化されて粒度的にベターとなるcc-pVDZでの値を示す.Table 2にエネルギーを,またTable 3に勾配のタイミング,加速率,効率をまとめる.勾配の方が計算時間が長く,加速が良くなっていることには留意されたい.

Table 2.  Timing data of DFT energy calculations (cc-pVDZ).
Table 3.  Timing data of DFT gradient calculations (cc-pVDZ).

Table 2と3で,スーパーアダマンタンはダイヤモンド骨格を保ちつつアダマンタン骨格を融合した形となり,密な構造となるため,計算時間がオーダー違いで増えている.一方で,C60は内部が中空となる(Figure 1)ために積分のカットオフがよく効き,スーパーアダマンタンに比しての時間増はそれほど顕著ではないが,粒度のばらつきも若干増えるために加速•効率は少し低下している.いずれにせよ,どちらの分子でも120コアのHT実行で1.4倍超の加速は確保されている.

2つの塩基対に対しても,ほぼ同様の加速率と効率が見られる(SMASHのスケール性能がベースであることは,論を待たないが).水素結合の場合は「横に広がった」構造(Figure 2)となるので,積分のカットオフが効くが,「縦に重なった」構造のスタッキングではカットオフの効果は相対的に低いと考えられ,計算時間が若干増加しており,加速率についても論理240コアの場合にはATのスタッキングでは水素結合に比べて5%程改善している.

文献 [16]にはGAMESS-U.S.のHF/6-31G計算でのFock行列構築でのベンチマーク結果(KNCは7120Dで5110Pより高性能)が示されているが,C60でのHTによる加速は1.5倍(実60→論理120),1.8倍(実60→論理240)となっている.今回のベンチマークテストは,KNCの版,プログラム,計算内容が異なるが,HT増分での加速値はほぼ同様であり,Phiによる高並列MO計算の加速に関する一定の基準値が得られていると考えられる.

5 まとめと今後の展望

今回,60個の実コアを持つPhi KNCのネィティブモード実行で,コンパクトで並列性能に優れたMOプログラムSMASH [23]のDFT計算(B3LYPのエネルギーと勾配)のベンチマーク評価を分子種を変えながら行った.一連の測定によって,論理120コアのHT領域でも実60コア時に比して1.4倍程の加速が,また効率低下が懸念はされるが,論理240コアで約1.7倍の加速が得られることが示された.メニーコアCPUであるPhiの多スレッド実行に期待を持てる結果であるとも言える.特に,第二世代のKNLではメモリ空間(MCDRAMとDDRを使い分ける必要はあり)が相当に増強され,よりルーチン的に様々なアプリケーションプログラムが実行可能とされる [14,15].この流れは,米アルゴンヌ国立研のロードマップにも記されていて,10 nmプロセスによる第三世代のKnights Hill (KNHとされる)までアーキテクチャ構成が拡張されながら続くとされている [30].身近なところでは,KNLを搭載した富士通のスーパーコンピュータが東京大学-筑波大学のOakforest-PACSとして東京大学の柏キャンパスに導入され,2017年度からサービスが提供されることになっている [31].私たちが開発しているABINIT-MP [25]の2016年度末の版ではSMASHのDFT機能(エネルギーと勾配)が移植によって使えるようになるので,そう遠くはないうちに,こうしたKNL搭載機の上でFMO-DFT計算が,HT加速を得つつ容易に行えるようになると期待される(ネィティブモードを想定).一方,2022年頃に稼働が見込まれているポスト「京」スーパーコンピュータはARM系のチップを積むと言われている.GAMESSは,既にARM64を使った消費電力的な観点での性能評価も行っている [32,33].今後は,Intel Xeon Phiに加えてARMの動向も見ていく必要がありそうである.

Acknowledgment

ここに報告させていただいた研究を進めるにあたり,東京大学の加藤千幸先生,筑波大学の重田育照先生からは数々の助言と励ましを,またHPCシステムズ(株)の渡邉啓正氏には技術的なご支援を頂いた.以上を記して深謝したい.また,SMASHの開発(石村)はJSPS科研費16K00175の助成を受けていることを記す.

参考文献
 
© 2016 日本コンピュータ化学会
feedback
Top