本研究は、高エネルギー物理学実験で使われる測定器シミュレーションプログラムであるGeant4を、GPUコンピューティングの新しい手法を使って、高速化することを目的とする。 開発にあたっては、NVIDIA社のTesla C2070演算ユニットを用いた。GPUコンピューティングのプログラム環境であるCUDAを使って、シミュレーションの並列処理化を行った。 評価アプリケーションとして、ボクセルジオメトリでのGeant4の電磁相互作用をGPU上で実装した。ボクセルジオメトリ下での粒子輸送、2次粒子の生成、電子、光子の物理過程の実装をCUDAを使って行い、3万2000個のスレッド上での並列粒子トラッキングを実現した。また、アプリケーションの性能評価を行い、プログラムのプロファイリングを通して、各処理での計算時間の計測、最適化を行った。その結果、反応断面積データへのメモリアクセスや各ボクセルでのエネルギー損失情報のメモリへの書込みといった点に処理時間が多くかかることが分った。これは、GPU上で多くのスレッドで同時にメモリアクセスをすることに起因する遅延であり、アルゴリズムの改良を行うことで、ボトルネックの解消を行った。最終的に、Geant4のCPUでのアプリケーションと比較して、GPUのアプリケーションは、30~40倍程度の速度改善に成功し、研究計画段階で設定していた目標を実現した。更なるアルゴリズムの改善やマルチGPU環境を利用することで、更なる速度向上が期待できる。
|