Molexus 社 Website へ Northern Science Consulting

GPU accelerated Docking

Molegro Virtual Docker では、GPU(グラフィクスプロセッシングユニット)を利用してバーチャルスクリーニング計算を行うことが可能です。GPUを用いるアドバンテージは、その計算速度で、現在最速と言われるCPUよりもさらに優れた計算処理パワーを発揮できる点にあります。

Molexus社では、GPU上で実行することができる、分子ドッキングコードの特別版を開発しました。適切なハードウエア(GPU)で計算を行うことで、1化合物を1秒以下でのドッキングを可能にします。実際のドッキング時間は、CPU、GPU、OS、そして、その複合体に依存しますが、いくつかの代表的な計算時間の例(MVDに付属しているサンプル)は、以下のとおりとなっています:

ComplexWindows (32-bit)
1HVR0.34s
1STP0.23s
3PTB0.18s

上記の結果は、Nvidia GeForce 570GTXカードを実装した、Intel Core2 Quad Q8200を用いて得られたものです。MVDの4インスタンスが並行して実行されました。表示されている結果は、a single docking runについてのものです。Molexus社では、通常、1化合物あたり10回のrunを推奨していますが、より高速なバーチャルスクリーニングについては、runの数を抑えてもよいかもしれません。注目すべきは、Linux上での実行がより高速になっている点です。これは、Windowsにあるドライバーモデルがややオーバーヘッドを負わせているためのようです。

現在施されている実装は、CUDAプラットフォーム上でのビルドで、このため、Nvidiaグラフィックカードが必要となります。この実装では、プログラムは、標準的なNvidia Geforceカード上で走りますので、専用のQuadroやTeslaといったハードウエアは必要ありません。

もしGPUプログラミングのテクニカルな面に興味をお持ちの場合は、Molexus社開発メンバーらによる、第一世代インプリメンテーションに関するの論文が発表されていますので参照してください:

GPU-accelerated high-accuracy molecular docking using guided differential evolution: real world applications. Simonsen, Pedersen, Christensen, Thomsen. GECCO '11.

※ MVDで実現されているバージョンは、この論文が発表されてから拡張と改良が重ねられています。詳細については、Molegro Virtual Dockerのマニュアルを参照してください。

GPU Acceleration FAQ

GPUを用いたドッキングを行うには何が必要ですか?

CUDAに準拠したNvidiaグラフィックカードが必要です。こちらに、Nvidia社からの情報提供があります。

特別なドライバーやソフトウエアをインストールする必要はありませんが、使用しているドライバーが最新のものに更新されているかどうかをお確かめください。最新のNvidiaドライバーは、こちらで見つけ出すことができます。

どのようにすれば可能な限り高速に計算できるのでしょうか?

計算速度は、いくつかの要因によって決まります。グラフィックカードの理論上の計算能力(GFLOPS)は、性能の良い目安となります。しかし、他にもまた要因はあります:ドッキングアルゴリズムは、CPUとGPUの両方を使用し、それらの間でデータを渡します。高速なGPUの場合、CPU上のひとつのプロセス(スレッド)がGPUにデータを送るのに十分ではないかもしれません。これは、いくつかのドッキングプロセスを開始することで打開することができます(ドッキングウィザードが呼び出されるたびに、新しいスレッドが開始されます)。

GPUアクセラレーションは、Molegro Virtual Gridと一緒に利用することはできますか?

ネットワークを通じての分子データ等の移動に関連するオーバーヘッドが、GPUを使用することによる性能向上を著しく悪化させます。そのため、たとえ可能だとしても、ローカルマシンでのGPUアクセラレーションの実行を推奨します。

GPUアクセラレーションによるドッキング計算は、CPUのみによる計算と同じ精度なのでしょうか?

GPU上で実行されるアルゴリズムは、CPU版のものとは異なるものです。これは、GPUのアーキテクチャのためです。これが原因で、GPUアクセラレーションアルゴリズムは、CPUアルゴリズムに比べ、わずかに精度が落ちます。CPUアルゴリズムに関しては、その精度は、実行されるrunの数にも依存します - そしてまた、最適な設定というのは、データセットにある化合物にも依存します。もし可能であれば、実験データを再現できるかどうかを見るために既知の結晶構造でのアルゴリズム設定をテストすることは良い考えと言えます。

85個の多様化合物のセット(Astex Diverse Set)について、GPU加速によるドッキング計算では、上位ランクのポーズに対して(1化合物あたり10runを用いて)、74%(RMSD<2A)という精度が得られています。

Molegro Virtual Docker

©2004-2021 Northern Science Consulting Inc. All Rights Reserved.