サムネイル| GPUによるイオン溶液のシミュレーション (ソフトウェア:Abalone) GPUを用いた分子モデリング(GPUをもちいたぶんしモデリング、molecular modeling on GPU)は、グラフィックス・プロセッシング・ユニット(GPU)を用いて分子シミュレーションを行う技術である。
GPUは多数の演算を並列に実行する能力を持ち、画像処理以外の汎用計算にも利用される(GPGPU)。NVIDIAは2006年にCUDAを導入し、2007年6月にはCUDA Toolkit 1.0を公開した。CUDAは、グラフィックス用のAPIを介さずにGPUを汎用計算に利用するためのプラットフォームとプログラミングモデルである。GPUを利用する分子シミュレーションソフトウェアでは、CUDAのほかにOpenCLやHIPなども用いられ、対応するGPUや実行環境はソフトウェアによって異なる。
量子化学計算や分子力学シミュレーション(古典力学による分子モデリング)は、この技術の応用例である。GPUによる高速化の程度は、計算対象の規模、アルゴリズム、CPUとGPUの性能および処理の分担に依存する。
計算の特徴と留意点 分子動力学では、粒子間の相互作用の計算をGPUに割り当て、座標の更新などをCPUで行う方式がある。一方、GROMACSの「GPU-resident」方式では、対応する条件の下で座標の更新や拘束条件の計算もGPUで行い、複数のステップにわたって座標と力のデータをGPU上に保持することで、CPUとGPUの間のデータ転送を減らす。GPU上で実行できる処理には制約があり、CPUとGPUの性能に応じて処理を分担することが性能に影響する。
計算には単精度、倍精度、または両者を組み合わせた混合精度が用いられる。例えばOpenMMの混合精度モードでは、力の計算を単精度で、運動方程式の積分を倍精度で行う。これにより、単精度モードに比べて速度の低下を抑えながらエネルギー保存を改善する。精度の設定は計算速度だけでなく、数値誤差や結果の再現性にも関わる。
GPUで高速化した分子モデリングソフトウェア
プログラム Abalone - 分子動力学 (Benchmark) ACEMD - 2009以降、GPUで動作 (2009 Benchmark) AMBER GPUバージョン Ascalaph GPUバージョン - Ascalaph Liquid GPU AutoDock-GPU - AutoDock 4をGPU向けに実装した分子ドッキングソフトウェア。大規模なバーチャルスクリーニングに用いられる BigDFT - ウェーブレットに基づくAb initioプログラム BrianQC - 量子化学(ハートリー・フォック法および密度汎関数法)および分子力学 Blaze - リガンドベースのバーチャルスクリーニング CP2K - Ab initio分子動力学法 Desmond (software) - GPU、ワークステーション、クラスタ上のソフトウェア Firefly - 旧PC GAMESS FastROCS GOMC - GPU最適化モンテカルロシミュレーションエンジン GPIUTMD - 多粒子ダイナミクスのためのグラフィカルなプロセッサ GPU4PySCF - PySCFの量子化学計算をGPUで高速化するプラグイン。ハートリー・フォック法や密度汎関数法などに対応するが、GPUで実行できる計算方法や機能はモジュールによって異なる。 GROMACS - 分子動力学ソフトウェア。相互作用の計算に加え、対応する条件の下では座標の更新や拘束条件の計算もGPUで実行する。 HALMD - 高度に高速化された大規模MDパッケージ HOOMD-blue - CPUおよびGPUで実行できる粒子シミュレーションソフトウェア。 LAMMPS - GPUパッケージおよびKOKKOSパッケージによるGPU高速化に対応する分子動力学ソフトウェア。 LIO - 密度汎関数理論(DFT)に基づくGPU最適化コード Octopus - OpenCLをサポート oxDNA - GPUによるDNAおよびRNAの粗視化シミュレーション PWmat - 平面波密度汎関数法によるシミュレーション TeraChem - 量子化学と ab initio 分子動力学 TINKER - GPU上 VMD & NAMD - GPU上 versions YASARA - OpenCLを使ってすべてのGPUでMDシミュレーションを実行
API BrianQC - GPU上での量子化学シミュレーションのためのオープンなCレベルAPIで、Q-ChemのGPUアクセラレーションバージョンを提供する。 OpenMM - 分子動力学のためのライブラリとAPI。CUDA、HIP、OpenCLによるGPU計算とCPU計算に対応し、実行環境に応じて計算を担うプラットフォームを選択する。 mdcore - 最新の共有メモリ並列アーキテクチャに基づく分子動力学シミュレーションのための、プラットフォームに依存しないオープンソースのライブラリ
分散コンピューティングプロジェクト GPUGRID - 分子動力学シミュレーション基盤 Folding@home - タンパク質フォールディングの解析プロジェクト
脚注
関連項目
GPGPU
量子化学および固体物理計算ソフトの一覧
分子エディタ Folding@home シミュレーテッド・リアリティ
外部リンク More links for classical and quantum сhemistry on GPUs