コンテンツにスキップ

GROMACS 溶媒和ΔGをGPUで回す:λ窓並列で意思決定を前倒し(A100実測→H200 NVLへ)

前提(ここが大事)

このページの数値は A100 80GB×4 での実測です。
販売対象の H200 NVL(1/4/8GPU) でも同じ考え方で、「λ窓(+replica/複数案件)を並列化して、壁時計を短縮」できます。
H200 NVL向けには、お客様の系・条件に合わせて PoCで実測値を提示します。

結論(先に要点)

  • 同じΔGを再現:A100とH100で溶媒和ΔGは誤差内で一致(計算として妥当)
  • A100→H100で壁時計短縮:4GPU並列の完了時間が 約23%短縮(1.30×高速)
  • 膜系(benchMEM)でもthroughputが伸びる:H100 NVL×4で 合計934 ns/day(1GPU比3.51×)

まず何を計算しているか

ここでやっているのは、GROMACSで 「エタノールが水に“なじむ強さ”」を数値で出す計算です。

  • エタノールが水に溶けやすいのは感覚的に分かりますが、
  • その “溶けやすさ” を 自由エネルギー ΔG(デルタジー) という数値で表します。

ざっくり言うと:

  • ΔGがマイナス → 水に入るのが「自然」=溶けやすい
  • ΔGがプラス → 水に入るのが「不自然」=溶けにくい

この「溶媒和ΔG」は、創薬でよく使う 結合自由エネルギー(ABFE/RBFE)の“部品”でもあります。
だから企業向けには「単なるお遊び」ではなく、将来の本命計算(候補評価)につながるミニデモとして使えます。


なぜGPUが効くの?(λ窓=独立ジョブ だから)

自由エネルギー計算は、いきなり0→1を一発で変えるのではなく、途中をいくつかに分けて少しずつ変化させます。

この「分割した1個1個」を λ(ラムダ)窓と呼びます。

  • 今回は 7つのλ窓(0.0 / 0.2 / 0.4 / 0.6 / 0.8 / 0.9 / 1.0)
  • 各λ窓は 基本的に独立しているので、別々に計算できます

つまり、

  • 1GPUしかない場合:7窓を 順番に回す(遅い)
  • 4GPUある場合:7窓を 同時に回せる(速い)

この “同時に回せる” が、企業の意思決定(結果が出るまでの待ち時間)に直結します。


実測環境

  • GPU:NVIDIA A100 80GB(PCIe)×4
  • 計算:2 ns / 窓 × 7窓(合計 14 ns分のサンプリング)
  • 統合:BAR(後半1 nsのみ使用、-b 1000 ps

  • ソフトウェア:NGCコンテナ nvcr.io/hpc/gromacs:2022.3(Apptainer)

結果:ΔG(エタノールの溶媒和自由エネルギー)

  • ΔG_total = -17.49 ± 0.36 kJ/mol
  • ΔG_total = -4.18 ± 0.09 kcal/mol

(ΔGがマイナスなので、エタノールは水に“なじむ”=溶けやすい、という直感と一致します)


結果:壁時計(意思決定の速さ)

今回のポイントは 「同じ答え(ΔG)に到達するまでの時間がどれだけ短くなるか」です。

実行方法 壁時計(7窓を完了するまで)
1GPU逐次(1窓ずつ順番) 1044.15 sec(17.40 min)
4GPU並列(窓を同時に実行) 364.10 sec(6.07 min)
  • 短縮(壁時計)= 2.87×
  • 参考:7窓を4GPUで回す理想上限は 3.50×(2バッチで終わるため)
    → 今回は 理想比 81.9% と良好

仕事では何が変わる?(待ち時間と処理件数)

企業側で稟議に乗せやすい言い方は「論文が増える」よりも、次の2つです。

1) 待ち時間が減る(Time-to-decision)

  • “結果が出るまで待つ時間” が短くなる
    → 次の候補に進む意思決定が前倒しできる

2) 週あたり処理できる件数が増える(スループット)

自由エネルギー計算の実務では、多くの場合 - λ窓を増やす - replica(反復)を増やす - 候補分子を複数同時に回す が必要になります。

GPUを増やすと 同時に回せる本数(窓×replica×案件)が増えるため、 「同じ期間で評価できる候補数」が増えます。


A100×4 vs H100 NVL×4(実測比較)

同一ワークロード(2 ns/窓 × 7窓、BARは後半1ns)を、A100とH100で実測比較しました。
(GROMACSは NGCコンテナ nvcr.io/hpc/gromacs:2022.3 をApptainerで使用)

A100 vs H100 wall-clock time

※図の縦軸は概算スケールです。正確な数値は次の表を参照してください。

壁時計(意思決定の速さ)

GPU構成 4GPU並列(7窓を同時実行) 1GPU逐次(7窓を順番に実行) 並列Speedup(理想3.5×)
A100 80GB×4 364.10 sec(6.07 min) 1044.15 sec(17.40 min) 2.87×(効率81.9%)
H100 NVL×4 279.40 sec(4.66 min) 922.45 sec(15.37 min) 3.30×(効率94.3%)
  • A100→H100(4GPU並列)の短縮:6.07分 → 4.66分(約23%短縮、1.30×高速)
  • H100は「7窓を4GPUで回す」理想上限(3.5×)に対して 94% と良好(窓並列がよく効く)。

ΔG(計算の妥当性チェック)

  • A100:ΔG_total = -17.49 ± 0.36 kJ/mol
  • H100:ΔG_total = -17.97 ± 0.92 kJ/mol
    → 誤差内で一致し、同一手順がH100でも再現できています。

膜系ベンチ(A相当):benchMEM(膜タンパク+膜+水)をH100 NVL×4で測る

「膜系のGROMACS」を使う方に近い題材として、ベンチマーク benchMEM を測りました。
このタイプは現場では 条件違い・replica・複数案件を同時に流すことが多く、H100/H200 NVLの価値(スループット)を説明しやすいです。

測定条件(短時間で再現しやすい設定)

  • nsteps = 200000(約0.4ns相当)
  • OMP = 8
  • ソフトウェア:NGCコンテナ nvcr.io/hpc/gromacs:2022.3(Apptainer)
  • 環境(H100側):Driver 550.144.03 / CUDA 12.4
  • トポロジ(要点):GPU0–1 が NVLink(NV12)+NUMA0、GPU2–3 が NVLink(NV12)+NUMA1

結果(H100 NVL×4 実測)

実行 throughput (ns/day) wall(目安)
1GPU(GPU0) 266.124 136.48 sec
4GPU(4本同時の合計) 934.433 165.21 sec(4本の最大wall)
  • 4GPU/1GPU のスループット倍率:3.51×(= 934.433 / 266.124)
  • 4GPU内訳(ns/day):g0=245.874 / g1=236.474 / g2=223.791 / g3=228.294

benchMEM H100 throughput

ここがポイント:同時に何本回せるか

「1本を最速で回す」だけでなく、“同時に何本回せるか”が実務価値です。
H200 NVL 8GPU なら、replicaや案件の同時実行で スループットをさらに上げて、意思決定を前倒しできます。

H200 NVL(1/4/8GPU)で何が変わる?

  • 4GPU:今回と同じ “窓並列” がそのまま効く(壁時計短縮)
  • 8GPU:7窓の計算だけだとGPUが1枚余るので、実務では
  • もう1案件を同時に流す(スループット増)
  • replicaを増やして誤差を下げる(精度↑でも日程を伸ばさない)
    で真価が出ます

相談(PoC)

H200 NVL(1/4/8GPU)で、あなたの条件(候補数、λ窓数、replica数、締切)に合わせて
「週あたり何件処理できるか」「壁時計がどれだけ短くなるか」をPoCで実測提示します。

お問い合わせ


相談(PoC)

相談フォームへ