（様式 20）成果報告書

TSUBAME 共同利用 平成 23 年度 学術利用 成果報告書

利用課題名 TSUBAME2 GPU によるスピン系のクラスターアルゴリズム・モンテカルロシミュレーション
英文： Cluster algorithm Monte Carlo simulations of spin systems using TSUBAME2 GPU
利用課題責任者 岡部 豊
First name Surname Yutaka Okabe

Affiliation

所属 首都大学東京理工学研究科
Graduate School of Science and Engineering, Tokyo Metropolitan University

邦文抄録（300 字程度）
物質内の相転移現象を解析するモデルとして、格子スピンモデルがある。格子スピンモデルの解析にはよくマルコフ連鎖モンテカルロ法が用いられており、今日までに多くのマルコフ連鎖モンテカルロ法が提案されている。近年、GPU による計算の高速化が多くの分野で注目されている。本プロジェクトではマルコフ連鎖モンテカルロ法の一つ、Swendsen-Wang (SW) マルチクラスターアルゴリズムの複数の GPU を使ったアルゴリズムの開発を行う。
TSUBAME2.0 上で開発したプログラムを性能を評価し、q=2 状態ポッツモデルの転移温度上で全格子サイズが65536×65536 の場合で 1 スピンフリップ当たり 0.117 nano sec の計算速度を実現した。
英文抄録（100 words 程度）
The classical spin model is one model for understanding mechanisms of phase transition. The classicalspin model is often analyzed by using a Markov Chain Monte Carlo simulation, and many algorithms
for Markov Chain Monte Carlo simulation have been proposed. In this paper we realize the GPU
computation of the Swendsen-Wang multi-cluster algorithm for multiple GPUs extending ouralgorithm for single GPU computing [Comp. Phys. Comm. 183 (2012) 1155]. The calculation time on
Tesla M2050 using 256 GPUs is obtained as 0.117 nano sec per a spin flip for the q=2 Potts model(Ising model) at the critical temperature with the linear system size L=65536.
Keywords: GPU, Monte Carlo method, cluster algorithm, spin systems, Potts model

背景と目的スピンモデルがある。格子スピンモデルは物質内の磁多体系の物理的性質を理解するためにモンテカルロ気的性質を簡単なモデルで表し、磁気的性質の熱的な法が標準的な手法として広く用いられているが、シング挙動、特に相転移温度付近での振る舞いを調べるためルスピンフリップのモンテカルロ法には転移温度付近でに使われる。しかし、格子スピンモデルの熱的性質を調緩和時間が急激に大きくなる問題があり、これを解消べるためには熱平均の計算が必要である。直接熱平する一つの手法としてクラスターアルゴリズムが提唱さ均を計算する場合、その計算量は一番簡単なイジングれている。しかし、クラスターアルゴリズムの大規模なモデルでも 2 格子サイズとなり、莫大な量の計算が必要とな計算には様々な問題があり、今までの報告ではクラスる。そのため、格子スピンモデルの解析では標準的なターアルゴリズムは大規模化な並列計算に適していな手法としてマルコフ連鎖モンテカルロ法が使われる。特いとされていた。本プロジェクトでは、格子スピンモデルにメトロポリス法[1]などのシングルスピンフリップのモに対し、複数の GPU を使った大規模なクラスターアルンテカルロ法は柔軟性が高く、様々な系で用いられてゴリズム・モンテカルロシミュレーションを開発し、クラスいる。しかし、シングルスピンフリップのモンテカルロ法

ターアルゴリズムの大規模化の基礎の確立と計算の高には相転移温度付近で緩和時間がサイズに対して指速化の２つを目的とする。

数関数的に大きくなる問題があった。この問題を解消する一つの手法としてクラスターアルゴリズム[2,3]が提概要多体系の熱的な性質を理解するモデルとして、格子唱された。クラスターアルゴリズムはこの緩和時間の影響を劇的に改善させることに成功した。しかし、今まで（様式 20）成果報告書クラスターアルゴリズムは大規模な並列計算に適していないとされていた[4]。
近年、GPU を用いた計算の高速化が研究され、シングルスピンフリップ法に関しては、数十倍の加速が報告されているが、クラスターアルゴリズムへの GPU の利用は始まったばかりである。申請者のグループは、１個の GPU を用いたスピン系のクラスターアルゴリズムの研究を既に報告した[5]。クラスターアルゴリズムの大規模計算は台数効果が得られず困難と考えられてきたが、本研究では１個の GPU の計算を MPI 並列により複数の GPU の計算に拡張し、種々の工夫を加えることにより、台数効果が高い計算を実現する。

結果および考察アルゴリズムの手順。サイト上の数字はポッツスピンを表しており、同じクラスターに属するサイトは同じ色である。

分散メモリ型コンピュータに適用させる方法を考案した。

q 状態ポッツモデルのハミルトニアンを以下に示す。
H

図 1 : q=2 状態ポッツモデルでのマルチクラスター,こちらの具体的な説明は投稿中の論文に記載している[6]。
本グループで作成したプログラムの q=2 状態ポッツ

ここで Si はサイト i でのポッツスピンを表し、0 から q-1モデルでの転移温度上の平均計算時間を表 1 に示す。

までの値をとる。δはクロネッカーのデルタであり、和表 1 では 1 スピンフリップ当たりの計算時間を示しておは全ての最近接格子で行う。格子としては正方格子をり、各 GPU 当たりの格子サイズを 4096×4096 と固定考え、周期的境界条件をとる。

し、GPU の個数を増やしている。表 1 より、GPU の個

本プロジェクトで高速化するクラスターアルゴリズム

数が増えるに連れて計算の効率が上がっていることがは Swendsen-Wang (SW) マルチクラスターアルゴリわかる。ベストパフォーマンスは全格子サイズが 65536ズムである[2]。SW マルチクラスターアルゴリズムは以×65536 の場合での 1 スピンフリップ当たり 0.117下の３つの手順からなっている。

nano sec である。

(1) 最近接サイトとのボンド接続の有無(2) ボンド情報に従ってクラスターに分解(3) 各クラスター毎にスピンフリップ

全格子サイズ

1 スピンフリップ当

q 状態ポッツモデルでの 1 モンテカルロステップの手順(GPU の個数)たりの計算時間を図 1 に示す。申請者のグループは、１個の GPU を用

4096×4096 (1GPU)

12.39 nano sec

いた SW マルチクラスターアルゴリズムの研究を既に8192×8192 (4GPU)

3.679 nano sec

報告した。しかし、1 個の GPU の計算は共有メモリ型

16384×16384 (16GPU)

1.075 nano secの計算であるため、マルチ GPU のような分散メモリ型

24576×24576 (36GPU)

0.550 nano secの計算への適用の際には工夫が必要となる。また、参32768×32768 (64GPU)

0.344 nano sec

考文献[4]の計算は共有メモリ型のコンピュータを用い49152×49152 (144GPU)

0.184 nano secて計算されているため、そちらの手法も適用出来ない。

65536×65536 (256GPU)

0.117 nano sec(1)の計算は 1GPU での計算方法を直接マルチGPU の計算に適用できるが、(2)と(3) の計算は直接

表 1：q=2 状態ポッツモデルの転移温度上での 1 スピ

マルチ GPU のような分散メモリ型コンピュータでは適ンフリップ当たりの平均計算時間用出来ない。そのため、本プロジェクトではこの 2 つを（様式 20）成果報告書
なお、本研究は大学院生の小村幸浩君との共同研

spin flips per a nano sec

10究である。

1L=4096
L=8192
L=16384
L=32768
L=65536

参考文献[1]

10100N.

Metropolis,

A.W.

Rosenbluth,

M.N.

Rosenbluth, A.H. Teller, E. Teller, Equation ofState Calculations by Fast Computing Machines,
J. Chem. Phys. 21 (1953) 1087-1092.
[2] R.H. Swendsen, J.S. Wang, Nonuniversal
critical dynamics in Monte Carlo simulations,−1Phys. Rev. Lett. 58 (1987) 86-88.
100101102

Number of GPUs
図 2 : マルチ GPU の SW マルチクラスターアル
ゴリズムの台数と 1 nano sec 当たりのスピンフリップ数の依存性[3] U. Wolff, Collective Monte Carlo Updating for
Spin Systems, Phys. Rev. Lett. 62 (1989) 361-364.
[4] G. T. Barkema, T. MacFarland, Parallel
simulation of the Ising model, Phys. Rev. E 50(1994) 1623-1628.

strong scalability を議論するために全格子サイズ[5] Y. Komura, Y. Okabe, GPU-based Swendsen-を固定した場合の GPU 個数の依存性のグラフを図 2Wang multi-cluster algorithm for the simulationに示す。図 2 は両対数グラフでプロットしており、縦軸はof two-dimensional classical spin systems, Comp.

1 nano sec 当たりのスピンフリップ数、横軸は GPU の

Phys. Comm. 183 (2012) 1155-1161.

台数である。

[6] Y. Komura and Y. Okabe, Multi-GPU-based
Swendsen-Wang multi-cluster algorithm for the

以上より、本プロジェクトでは台数効果が高く、かつ複数の GPU を使うことでより計算速度の速いプログラムの開発に成功した。

まとめ、今後の課題
本プロジェクトではマルチ GPU を用いた SW マルチクラスターアルゴリズムの開発を行い、台数効果が高く、かつ GPU を使うことでより計算速度の速いプロトタイプのプログラムの開発に成功した。TSUBAME 2.0 上で開発したプログラムの性能を評価し、結果 256GPU
で 0.117 nano sec の 高 速 化 を 実 現 し た 。 ま た 、strong scalability の測定も行い、台数効果の高いプログラムであることも示した。
現段階ではプロトタイプの作成のみで、このプログラムはまだ改良の余地を残している。そのため、今後はこのプログラムを改良していくと共に、実際の問題への適用を行っていく。

simulationof

two-dimensional q-statemodel, submitted.

Potts