YASARA:【AutoDock】CPUスレッド数と処理時間の関係

2024年6月19日水曜日

【YASARA】

t f B! P L

 前回の記事(YASARA:AutoDockGPUの性能評価)では、AutoDockのドッキングがGPUでどれくらい高速化されるのかを調べましたが、今回は、CPU数と計算時間の関係について気になったので調査してみました。 

AutoDock計算時間の検証

 今回は、AutoDockを利用した基本ドッキング(dock_run.mcr)をCPUスレッド数を変えて実行し、計算時間を測定しました。

テスト計算の各条件は以下になります。

      GPU:1 / CPU:1,2,4,6,8,10,12 / run:25

      GPU:0 / CPU:1,2,4,6,8,10,12 / run:5

      GPU:0 / CPU:1,2,4,6,8,10,12 / run:10

※検証には物理コア6(論理コア12)のCPUを使用しています。
GPUを使用しない場合は計算時間が長くなるため、run数を減らしています。(デフォルトはrun:25

実行条件

 使用したハードウェア、YASARAのバージョン情報は、前回の記事(YASARA:AutoDockGPUの性能評価 )と同じです。

[H/W]
 CPU: AMD Ryzen 5 3600XT(6-Core)
 RAM: 32.0 GB
 GPU: NVIDIA GeForce RTX 2070 SUPER
 OS : Windows 10 Pro(22H2,19045.4412)

[YASARA]
 YASARA Structure ver.24.4.10

実行方法

構造ファイルの準備


 前回の記事(YASARA:AutoDockGPUの性能評価)と同じ手順で構造ファイルを準備しました。


マクロファイルの準備


 付属マクロdock_run.mcrを用いて、以下の点を編集して使用しました。

  • ドッキングメゾッドの指定:メゾッドパラメータをAutoDockに変更しました(method='AutoDockLGA')。

  • 実行時のプロセッサーの指定:マクロ冒頭にProcessorsコマンドを追記しました。
    (例:GPU数を1、CPUスレッド数を6に指定する場合は「Processors CPUThreads=6,GPU=1」と追記)

  • run数の変更: runsパラメータを適宜変更しました。(例:runs=5)


計算の実行


 計算の実行・処理時間の測定についても前回の記事と同じ方法で行いました。今回は計算を2回ずつ行い、平均をとりました。


結果






まとめ

  • GPUを使用した場合(①GPU1_run25)、CPU数を増やしても計算速度は変化しませんでした。計算の大半をGPU上で処理しているようです。

  • CPUのみを使用した場合(②GPU0_run5、③GPU0_run10)は、CPUスレッド数に応じて計算速度が向上し、②のrun数5の場合はスレッド数6以降、③のrun数10の場合はスレッド数10以降で頭打ちになりました。今回使用したCPUは物理コアが6ですが、③の結果からスレッド数が6より多い場合でも処理速度が向上することがわかりました。




code-prettify

このブログを検索

ページビューの合計

人気の投稿

QooQ