- 著者
-
古家 真之介
- 出版者
- 一般社団法人 日本物理学会
- 雑誌
- 日本物理学会誌 (ISSN:00290181)
- 巻号頁・発行日
- vol.76, no.12, pp.766-772, 2021-12-05 (Released:2021-12-05)
- 参考文献数
- 21
自然科学の分野の一つである計算科学は,科学技術計算により支配方程式の解を求めて現象を理解していく.この科学技術計算は非常に時間がかかる計算を実行することが多く,ハイパフォーマンスコンピューティング(High Performance Computing,HPC)の技術が不可欠となっている.例えば計算を高速化するためにアクセラレーターを利用する方法があり,その一つがGPU(Graphics Processing Unit)である.初期のGPUは3Dレンダリングのように決まった処理を実行するのみであったが,プログラマブルシェーダーの登場により処理内容を動的に変更できるようになった.さらにCUDAの開発により,グラフィックス以外のアプリケーションでも比較的容易にGPUを利用できるようになった.アプリケーションをGPUで高速化するには,大きく分けて3つの方法がある.GPUで高速化されたライブラリを用いる方法,既存のC/C++やFortranのプロブラムでOpenACCを利用する方法,そして専用の言語であるCUDAを用いたプログラムを書く方法である.GPUコンピューティングの黎明期は選択肢が少なくCUDAを用いることが多かったが,最近ではコンパイラが成熟してきたこともありOpenACCの利用が増えている.科学技術計算では,対象となる数値計算の規模が大きくなると,スーパーコンピューターを用いるのが一般的である.そのランキングTOP 500では2010年代に入るとアクセラレーターを搭載したものが増えており,GPUが多数を占める.初期のGPU搭載機として有名なのは,長崎大学のDEGIMAと東京工業大学のTSUBAMEである.つまり,最近のスーパーコンピューターのトレンドであるGPUの搭載は,日本から始まったのである.実際のアプリケーションでは,メモリアクセスが速いことを活かして流体解析に用いられることが多かった.分子動力学のシミュレーションもGPU黎明期からその利用に積極的で,第一原理計算など様々な分野でも使われるようになってきた.最近では機械学習を利用するものもある.第一原理計算の精度で分子動力学のシミュレーションを実行するには,現在では多くても数千原子程度の規模である.しかし機械学習ポテンシャルを用いることにより,第一原理の精度を保ったまま1億原子のシミュレーションを実施した例が出てきた.また機械学習だけで物理量を得る方法も開発が進んでおり,例えばPhysics-Informed Neural Network(PINN)は,非線形微分方程式で記述される物理法則に従うモデルを構築することができ,流体解析において流速と圧力が通常の流体解析と定性的によく一致するなどの結果を得ている.これらとは全く異なる新しい流れとして,量子コンピューターも最近話題となっている.そのシミュレーターでは,GPUを用いることにより量子回路シミュレーションに必要な状態ベクトルの演算やテンソルネットワークのシミュレーション速度が飛躍的に向上するのである.機械学習がGPUで高速化されたことにより,科学技術計算でも機械学習を利用する例が増えている.このようにGPUコンピューティングはこれからも新しい世界を切り拓き,様々な分野への適用が広がっていくであろう.