最大限にGPU計算機能を発揮する用途として分子動力学の代表的なアプリケーションである
AMBERがありますが、この
GPU対応システムを株式会社オーティビーでは全国販売しております. 

AMBERのGPU対応に関して

分子動力学AMBERにおけるCUDAのベンチマーク結果イメージ

※上のアニメは計算結果を基にして可視化ツールで生成しております.

Amberは分子動力学シミュレーションや解析を行うためのパッケージで,タンパク質や核酸を扱うような生体分子の研究分野で広く用いられています.Amberパッケージには多くのプログラムが含まれていますが,その中のPMEMD(Particle Mesh Ewald Molecular Dynamics)ではNVIDIA GPUを使った計算をサポートしています.

GPUバージョンのPMEMDを使う際にはGPUプログラミングの知識は不要で,GPU用にコンパイルされたアプリケーションを実行するだけでGPUを利用して計算を行うことができます. GPUバージョンのPMEMDを使う場合,計算条件の制限やGPUのメモリ量に応じた原子数の上限に制約がありますが,Generalized Bornによるimplicit solventモデルやParticle Mesh Ewaldによるexplicit solventモデルなどのサポートされているモデルの計算に対して高いパフォーマンスを得ることができます.
また,amber12ではCPU版とGPU版の両方のPMEMDに温度レプリカ交換法,IPS(Isotropic Periodic Sum),Accelerated Molecular Dynamicsが追加され,またNMRoptを使用したさまざまなharmonic restraintsがGPU上でサポートされるようになりました.

GPUを利用したAmberによるシミュレーションは生体分子の研究において成果をあげています. たとえば,UKとタイの研究者が新型インフルエンザウイルスの抗インフルエンザ薬に対する抵抗メカニズムを解明するために,GPUクラスタ上でAmberを利用している事例があります. これは, NVIDIA Tesla GPUを搭載した小規模クラスタ上でAmberの分子動力学シミュレーションを行い,従来のCPUクラスタの1/5の台数で,計算時間を半分程度に削減したといわれています.

NVIDIA社のプレスリリース記事

 

AMBER GPUベンチマーク

AmberのWebサイトで公開されているベンチマークのデータを使用してGPUベンチマークの実測を行いました.
ここでは,Implicit SolventのGBベンチマークとしてMyoglobin(2492原子)とNucleosome(25095原子), Explicit SolventのPMEベンチマークとしてNVEでのDHFR(23558原子)の結果を紹介します.
マシンは1ノードのみと,2ノードで構成されているクラスタを使いました.1ノードではGPUを1枚もしくは2枚で計算を行い,2ノードのクラスタでは各ノードに1枚ずつGPUを搭載して計算を行いました.

計算環境 (当社による実測値です)
Amber version Amber12
CPU Intel core i7 960 @ 3.20GHz 4core
GPU NVIDIA GeForce GTX 480 (1.5GB Memory)
Network Mellanox Infiniband QDR
OS CentOS 6.2
Compier Intel icc & ifort 12.0.3
CPU Library Intel MKL
MPI mvapich 2.0 - 1.8
NVCC 4.2
CUDA Driver version 4.2
GPU計算の精度モデル SPDP

分子動力学AMBERにおけるCUDAのベンチマーク結果



分子動力学AMBERにおけるCUDAのベンチマーク結果イメージ

各グラフでは,縦軸に計算で使ったCPU coreやGPU枚数,横軸に計算後に出力されるmdoutファイル内の ns/day の値をとって整理しています.グラフの横軸の数値が大きいほど計算が速いことになります(ns/dayは実時間の1日で計算できるシミュレーション内での時間を表しています).

1ノードでの1GPUとCPUでの計算結果を比較すると,GBの場合の例(myoglobin, nucleosome)ではGPUで計算することによる高速化の効果が大きく,GPU 1枚を使った計算でCPUの27から34倍程度の高速化となっています.一方,PMEの場合(DHFR)では7倍程度とGBに比べると高速化の効果が低くなっており,GBとPMEの計算方法の違いやパラメータの違いなどによって,GPUでの高速化の効果に差が現れていることがわかります.

1ノード上でGPUを2枚にした場合,どの計算例でもシングルGPU計算と比べて1.2〜1.3倍程度高速化されています. また, 各ノードに1枚ずつGPUが搭載された2ノードのクラスタで計算させた場合,1ノードに2枚のGPUを搭載した場合とほぼ同じ結果となりました.そのため,GPU 2枚であればクラスタを構築せず,シングルノードにGPU 2枚を搭載した方が望ましいと思われます.
1ノードに多くのGPU(4枚以上)が搭載される場合にはPCI Expressの帯域をフルに利用できないためにデータ転送速度が低下する場合があり,アプリケーションによってはこのデータ転送速度の低下がアプリケーションの実行時間に影響を及ぼします.Amberでは複数のGPUを使って高速化をさせる場合,PCI Expressの帯域を活用するために PCI-eのx16スロットにGPU 1枚とIBアダプタが接続されたノードでクラスタを構成することが推奨されています.このクラスタ化は,特にPMEによる計算で4枚以上のGPUを利用して性能を出すためには重要です.

今回の検証時には使用するMPIによってはクラスタにした場合に性能が下がるなどの結果も得られましたが,ここで紹介した結果はGPUでのスコアはAmberのWebに記載されているものとほぼ同様の傾向が得られています. そのため,GPUの枚数を4枚以上に増やしたクラスタの場合でもGPUを利用して性能を発揮させることが可能です.

分子動力学AMBERにおけるCUDA GPGPUクラスタの構成等

 

 
ハードウェア:
 
スタンドアローンPC  (OTB製可搬式CUBEサーバ等Multi-GPU対応)
 
MPIクラスター (OTB製
 
 
システム構築: OTBで行います.
   
  お見積はOTB社のWEBページからご希望PCモデルをご選択し"AMBER"と付記しご送信下さい.


 

 

   (C)Copyright OTB Transnational Inc. 2014 All rights reserved.