研究課題/領域番号 |
15K05201
|
研究機関 | 東京大学 |
研究代表者 |
渡辺 宙志 東京大学, 物性研究所, 助教 (50377777)
|
研究期間 (年度) |
2015-04-01 – 2020-03-31
|
キーワード | モンテカルロ法 / ビット演算 / 乱数生成 |
研究実績の概要 |
計算機の動作周波数の速度が向上しなくなって久しく、近年の性能向上は主にコア数の増加とレジスタ幅の増加に依存している。したがって、計算機の性能を活かすには、マルチコアを用いた並列化と、増えたレジスタ幅の有効活用が必須となる。中でもビット演算は数値計算黎明期よりマルチスピンコーディングなどで活用されて来た。これは古典スピンの自由度を一つのビットに割り当てることでレジスタ幅だけの並列度を稼ぎ、演算を加速する手法である。しかし、マルチスピンコーディングによりモンテカルロ法を行うためにはランダムなビット列が必要となる。そこで我々は、任意の確率で各ビットが独立に1となるランダムなビット列を高速に生成するアルゴリズムを考案した。我々が提案したのはBinomial-Shuffle法、Poisson-OR法、有限桁法の三種類である。Binomial-Shuffle法は、予めいくつのビットが立つかを計算し、その後でビットをシャッフルするアルゴリズムである。立つビット数の計算にWalker’s Alias法を、ビットのシャッフルにFloydのサンプリング法を使うことで高速なビット生成が可能となる。Poisson-OR法はTodo-Suwaにより提案されたアルゴリズムであり、Nビットのうち1ビットだけランダムに立っているビット列をランダムに組み合わせることでビット列を得る。有限桁法は確率が二進数表記でで有限桁で表せる時に有効な手法である。これらのアルゴリズムを組み合わせることにより、たかだか7回の乱数生成により任意の確率でビットが立っている32ビットのランダムビット列が得られる。我々はこの手法をDirected-Percolationのマルチスピンコーディングに応用し、スカラー実装に比べて14倍の高速化に成功した。このアルゴリズムは他のモデルへの応用も期待されている。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
近年、256ビット、512ビットと拡大を続けるレジスタ幅を、いかに数値計算に応用するかは非自明な問題であるが、任意のビット長に対して、各ビットが独立に任意の確率でランダムに1となるランダムビット列生成アルゴリズムを開発することで、幅広のレジスタを持つ計算機がモンテカルロ法に有効に活用できることを示した。当該研究は論文として出版され、実装例もサンプルプログラムとともに公開されており、本研究は順調に進展しているといえる。
|
今後の研究の推進方策 |
今年度は古典スピン系への応用を確認したが、同様に分子系への応用を試み、来るエクサスケールの数値計算資源をどのように活用していくかを検討する。
|