JAIST Repository
https://dspace.jaist.ac.jp/Title

ノード内並列に適した量子モンテカルロ電子状態計算の新しい配位更新法の開発と検証

Author(s)前園, 涼Citation

科学研究費助成事業研究成果報告書: 1‑5Issue Date

2015‑05‑29

TypeResearch Paper

Text version

publisher

URL

http://hdl.handle.net/10119/12823

RightsDescription

研究種目：挑戦的萌芽研究, 研究期間：2013〜2014,
課題番号：25600156, 研究者番号：40354146, 研究分
野：物性理論, 計算物理学

Japan Advanced Institute of Science and Technology

２版

様式

Ｃ−１９、Ｆ−１９、Ｚ−１９ （共通）

科学研究費助成事業

研究成果報告書
平成 ２７ 年５ 月 ２９ 日現在

機関番号： １３３０２
研究種目： 挑戦的萌芽研究
研究期間： 2013 〜 2014
課題番号： ２５６００１５６研究課題名（和文）ノード内並列に適した量子モンテカルロ電子状態計算の新しい配位更新法の開発と検証

研究課題名（英文）New updating scheme for Quantum Monte Carlo method suitable for the acceleration
using hybrid parallelization
研究代表者
前園涼（MAEZONO, RYO）

北陸先端科学技術大学院大学・情報科学研究科・准教授
研究者番号：４０３５４１４６
交付決定額（研究期間全体）：（直接経費）

3,100,000 円

研究成果の概要（和文）： 当該モンテカルロ法で用いられる配位更新においては、全ての粒子位置を斉次に更新する事は必ずしも必要ではないため、一つ一つを逐次的に更新する方法が一般的に広く採用されている。この逐次更新では、着目粒子以外の粒子位置について現段/前段の位置のいずれを採用するかに自由度があり、前段位置を採用することで新たな並列多重度を生み出せる。本研究では、この並列多重度にGPUのメニーコア並列化を適用する事で、当該サブルーチン部分に数十倍に高速化を実現する事に成功した。

研究成果の概要（英文）： We considered a new updating scheme for particle positions appearing in Monte
Carlo methods, which is suitable for the GPGPU acceleration. In the particle‑by‑particle Metropolis
updating scheme, we can evaluate whether a proposed update of a particle position was accepted orrejected base on the configuration of other particles at the previous step, though most of theconventional implementation uses those at the present step. By taking the previous step configuration, we
can create the considerable number of degrees for further internal parallel processing. We implementedthe internal parallel processing using GPGPU further on the conventional MPI implementation, and achieved
the reasonable acceleration.

研究分野： 物性理論、計算物理学
キーワード： 並列計算

電子状態計算高速化

GPU

モンテカルロ

様 式 Ｃ−１９、Ｆ−１９、Ｚ−１９（共通）１．研究開始当初の背景
量子モンテカルロ電子状態計算法は、超並列計算機の廉価化で大きく実用性を伸ばしつつあり、物性予見上の特長からも触媒や創薬、分子科学など産業応用への可能性が急速に高まっている。モンテカルロ電子状態計算法の演算加速化は、当該コミュニティにおいて、国際的にも精力的に取り組まれている研究課題の一つである。並列化効率が非常に高く(98%超)、数千並列まで効率よく性能を向上できる。全演算コアを階層化しない「フラットMPI」並列化（図１参照）では、通信管理上、数万並列規模で性能が限界を迎える。

材料科学分野における、分子間力や空間変動の激しい問題（界面や欠陥）に対して、量子モンテカルロ法電子状態計算は、密度汎関数法など現行ツールで到達不能な信頼性を実現する手法である。この手法は、現行法の弱点を回避する理論原理に基づいた新しい手法で、数千並列まで効率よく性能を向上できるが、数万並列規模で性能が限界を迎え、より大規模な対象系への適用を困難とし、手法の更なる実用性を阻害している。本研究では、GPU や次世代アーキテクチャにおけるノード内計算資源を、暗箱的利用を超えて最大限活用する新しい算法「準斉次更新法」（図３）を開発し、更に数十倍の高速化を達成す

図１；計算機内の演算コア（上図で短冊状に示されているもの）を幾つかのノード内にまとめ、ノード間/ノード内と階層化された並列資源利用で高効率を達成する。高い並列性能を達成す
るには算法自体に手を加える必要がある。

本計算手法の場合、フラット MPI が大規模化すると、分布を平衡化する計算が新たな律速となり、この部分はシステムサイズの 3 乗に比例してコストを増す（図２）。

る事で上記の阻害要因を克服する。固体系実用計算で律速となる「スプライン基底関数による軌道関数の数値的構成部分」について、現行の逐次算法を、研究代表者が開発・実装した準斉次更新法(図 1 参照)に順次換装し、GPU 上のメニーコアで並列分散処理させ、数十倍の高速化を達成する。用いられた計算環境上の理論的性能上限を見積もり、実測された加速化因子と比較の上で、期待される十分な性能向上を達成しているかどうかを考察し、適宜、分散処理モデルを変更しながら、最大限の性能向上を試みる。
モ ン テ カ ルロ における 粒子配位の更新法( r( ) ,, r( ) ,, r( ) ) ® ( r( ) ,, r( ) ,, r( ) )αα

1kα
N個の粒子位置を

a +11a +1a +1Nk

実装に多様な自由度が存在。

・ 斉次に更新し 棄却・ 採択に付すか？（ 斉次更新法）
・ 一つずつ更新し 、 その度に棄却・ 採択する か？（ 逐次更新法）

図２；当該手法における律速過程の変化。従来レベルの並列数（〜数百）では、統計蓄積過程が律速となり此処にフラット MPI 並列が利用されている。ところが其の並列数が数万程度になると統計蓄積部分は十分に高速化され計算時間が縮小する結果、平衡化過程が律速となってくる。

研究代表者は、この点がネックになることを以前から懸念し、ノード内並列資源を、暗箱的利用を超えて最大限活用する新しい算法として「準斉次更新法による新たな並列自由度の創出」という着想を得、その実証に取り組んだ。
２．研究の目的

更新法の取り 方如何で、 新たな並列多重度を 生み出せる
我々が開発し た更新法； 準斉次更新法(())

 (α +1)  (α +1)  (α )p r1(α +1) ,, rk-1
, rk , rk+1 ,, rN(α )( k)ξ seq.
= (α +1)  (α )  (α )
p r1(α +1) ,, rk-1
, rk , rk+1 ,, rN(α )逐次更新法（ 従前法）

ノ ード 内並列に供せる 。

新配位は逐次更新する が、 参照配位は斉次に更新(())

 (α )  (α +1)  (α )
p r1(α ) ,, rk-1
, rk , rk+1 ,, rN(α )
( k)
ξQS
=

 (α )  ( α )  ( α )p r1(α ) ,, rk-1
, rk , rk+1 ,, rN(α )準斉次更新法（ 本提案）

図３；当該モンテカルロ法では、N 個の粒子位置がステップ更新の対象となるが、全ての粒子位置を斉次に更新する必要は必ずしも無く、一つ一つを逐次的に更新する方法が一般的に広く採用されている実装である。逐次更新では、着目粒子以外の粒子位置について現段/前段の位置のいずれを採用するかに自由度があり、前段位置を採用することで新たな並列多重度を生み出せる（研究代表者による考案と実証）。

３．研究の方法
固体系実用計算で律速となる「スプライン基底関数による軌道関数の数値的構成部分」
について、GPU のメニーコアを用いた実装・検証を行う。律速ルーチンは具体的には、N個の電子位置の夫々に、L 本の軌道関数を構成する 64 項の積和算部分である。モンテカ
ルロ法で更新された電子位置（ランダムに決まる）に応じて、603 個のグリッド上に与えられる軌道展開係数から、呼応する 64 点を拾い上げて基底関数との線形結合を演算する。研究代表者が実装した準斉次更新法(図3)では、64 項の積和算は演算コア内の逐次計算として、N×L(〜数百)の並列分散処理をノード内コアに分配する事が出来る（図４）。

図５；本研究で得られた加速化性能。横軸は系のサイズを特徴付ける N で、右側の縦軸と黒い菱型のプロットが「何倍加速化されたか」を示している。粒子数に依存して加速化性能が異なるが、系が大きいほど大幅な加速が得られる。
色の異なる棒グラフは各種実装法式に対する計算時間を表し短いほうが計算が高速化されている。

ノード間分散処理には、独立したモンテカルロサンプリングが分配される。対象系には、チタン酸化物の系（N = 1,536, L=384）を用いる。

図４；量子モンテカルロ法電子状態計算において数値評価される軌道関数値は複数のインデックスを有し、数百もの関数値を 1 モンテカルロステップ中で評価する必要がある。これら評価は並立独立に行うことが可能で、ここにノード内並列自由度を創出するのが本研究の中心的アイデアである。

ノード内の GPU 演算コアには、更にブロックやスレッドといった階層性が存在するので、(電子数 N)×(軌道数 L)のノード内並列を、ブロックとスレッドに如何に配分するか（スレッディングモデルの設定）について、可能ないくつかの組み合わせが考えられる。そこで、「加速化因子のスレッディングモデルへの依存性検証」を行い、異なるいくつかのスレッディングモデルに関してコードのチューニングを行った。
本研究での遂行対象に据えたモンテカルロステップ更新部分のみならず、これに続くエネルギー算定部分にまで、当該並列算法の適用を進め、同程度の高速化を達成することが出来た。さらに当初の研究計画範囲を更に超えて、「データ構造を改変して、CPU‑GPU 間で、より高速なデータ転送を実現すること」、及び、「CPU 逐次演算向けに逐次的に並んでいたエネルギー各項評価の順番を並列処理向けに組み直したこと」の二点について大きな進展を得て、コード全体の実用性向上に向けて、より高い達成度を実現した（図 5）。

４．研究成果平成 25 年度は、コード実装を集中的に行い、既に GPU に移植済の逐次更新/倍精度演算コードを基として、「逐次更新/倍精度演算」か
ら「逐次更新/単精度演算」、更に「準斉次更新/単精度演算」と実装開発を進めた。この過程で、「単精度化による誤差がシミュレーションに要求される化学的精度の範囲に収まるか？」、「準斉次更新により統計誤差の範囲内で結果が一致するか？」について検証を進め、有用な知見を得た。

表１；各種実装方式に対して、理論性能に対し、どの程度の実行性能が得られているかを評価した一覧。一番右のカラムが達成されたパーセンテージを示している。理論性能値は計算が全て演算で構成されている場合に達成される理想極限値であるが、実際にはメモリアクセスが介在するため実行性能は理論性能からずっと落ち込んだ値となる。

平成 26 年度においては、より少ない電子数をもつ系での加速化測定から、本算法の、適用対象系システムサイズ依存性を検証し、データ転送時間やメモリレイテンシの測定から、理論性能に対し十分な程度を達成しているかを考察した（表１）。更に、リードオンリーメモリの利用有無に関する性能向上が可能かを検証した。並行して、北陸先端大保有の GPU搭載の大規模クラスタ計算機や、京スパコンでのノード内資源などを利用し、更に大規模なノード間並列と、メニーコアのノード内並列がよく共存し、ノード間並列度数に応じて性能がリニアに向上するかどうかを検証した。
５．主な発表論文等〔雑誌論文〕（計 1 件）
1. A.J. Misquitta, R. Maezono, N.D.
Drummond, A.J. Stone, and R.J. Needs,"Anomalous non‑additive dispersion
interactions in systems of three
one‑dimensional wires", Phys. Rev. B
89,(査読有), 2014, 045140
http://dx.doi.org/10.1103/PhysRevB.89.0
45140〔学会発表〕（計 10 件）
1. Ryo MAEZONO, "Electronic structure
calculation using Diffusion Monte Carlomethods", EMN Meeting on Quantum
Technology, 2015/4/14, Beijing Xijiao
Hotel, Beijing（China）
2. 前園涼, "量子モンテカルロ法とその計算機マテリアルデザイン応用", 大阪大学・未来研究イニシアティブ・グループ｢計算機ナノマテリアルデザイン新元素戦略｣ワークシ
ョップ, 2015/3/13, 国際高等研究所（京都府木津川市）
3. 前園涼, "第一原理電子状態計算による物
質材料シミュレーション", 第一原理セミナー, 2015/3/9 , 旭硝子株式会社中央研究所（神奈川県横浜市）
4. Ryo MAEZONO, "Ab initio electronic
structure
calculation
using
SuperComputers", Meeting under the aegis of theRoyal Society of Chemistry, 2015/3/2,
Delhi University, Delhi（India）.
5. 前園涼, "ナノテク・シミュレーションによる生産向上指針の設計、および、段階的な人材技術移転", 産学連携・産産連携のマッチングイベント「北陸メッセに向けて〜新しい産学の集い〜」, 2015/2/23, ANA クラウン
プラザホテル金沢・白鷺の間（石川県・金沢市）
6. Ryo MAEZONO, "Electronic Structure
Calculations using Quantum Monte Carlomethod", 3rd African School on 'ElectronicStructure Methods and Applications'(ASESMA‑2014), 2015/1/23, University of
Witwatersrand, Johannesburg （ SouthAfrica）
7. 前園涼, "電子正孔系に対する密度行列・対分布関数を用いた相図同定", 第８回物性科学領域横断研究会, 2014/11/21, 大阪大学
豊中キャンパスシグマホール(大阪府豊中市)
8. Ryo MAEZONO, Kenta Hongo, Tack Uyeda,
NaoNischi,"ElectronicStructure
Calculations using Quantum Monte Carlomethod", 2014/9/8‑2014/9/14, 公益財団法人交流協会平成 26 年度採択若手研究者交流
事業, 中央研究院/台北、東華大学/花蓮、成功大学/台南（台湾）9. 前園涼, "ここまで来た電子レベル材料科
学シミュレーション", 先端技術講演会、
2014/7/4, 株式会社デンソー幸田製作所(愛知県額田郡)
10. 前園涼, "ナノ産業応用科学における計算物質科学", 2014/6/25, 第２１回化学経営研究会、日本化学経営シンクタンク（東京都千代田区）〔図書〕（計 0 件）〔産業財産権〕○出願状況（計 0 件）
名称：
発明者：
権利者：
種類：
番号：
出願年月日：
国内外の別：○取得状況（計 0 件）
名称：
発明者：
権利者：
種類：
番号：
出願年月日：取得年月日：
国内外の別：〔その他〕
ホームページ等

６．研究組織(1)研究代表者
前園 涼（MAEZONO RYO）
北陸先端科学技術大学院大学・情報科学研
究科・准教授研究者番号：40354146(2)研究分担者（）研究者番号：(3)連携研究者（
研究者番号：）