GROMACS 2020.4 リリースノート¶
このバージョンは2020年10月6日にリリースされました。これらのリリースノートは、|Gromacs|の2020.3バージョン以降に変更された内容を記録し、既知の問題を修正するために作成されています。また、2019.6バージョン以前に実施されたすべての修正も含まれており、詳細は:ref:`release-notes`で確認できます。
mdrunが誤った動作をする問題を修正¶
LINCSのGPU版における複数ドメインケースでのバグ修正¶
ドメイン内の最大結合制約数の増加が、メモリ再割り当てを引き起こさなくなった。これにより、例えば大きな分子が、以前は小さな分子が占めていたドメインに侵入した場合に発生する問題が修正された。このバグは、単一ドメインの場合には影響しない。
N-bodyの仮想サイトにおけるドメイン分割のインデックス処理の修正¶
不適切なインデックス処理により、ドメイン分割コードでN個の仮想サイトを処理することが可能になります。これにより、通常、不正または不適切なメモリの使用によりクラッシュが発生します。
修正:LJ-PME と分散補正におけるアサーションエラー¶
vdw-type=PMEと分散修正を使用した場合、PMEの調整中にmdrunがアサーションエラーで終了します。
モジュール式シミュレータとドメイン分割を使用した FEP 計算におけるバグ修正¶
モジュール型シミュレーターを使用する場合、ドメイン分解と摂動された質量を用いた自由エネルギー計算を行う場合、シミュレーションは常に lambda=0 の質量を使用します。実際の lambda の値ではなく、です。
Ryzen で RDRAND が常にランダムな数値を返すとは限らないという問題を回避するための対処法を追加¶
AMD Ryzen 3000 シリーズの CPU では、ハードウェア乱数生成器 (RDRAND) が誤った動作をする可能性があり、常に -1 (0xFFFFFFFF) を返すことがあります。 実行時にこのハードウェアのバグが検出された場合、GROMACS はソフトウェアベースの疑似乱数生成器に切り替えます。
多くのマザーボードメーカーが、マイクロコードの修正を含むファームウェアのアップデートを配布しており、ほとんどのマザーボードは工場出荷時にこれらのアップデートがインストールされていますが、それでもアップデートを受け取っていないシステムが存在する可能性があります。
もし、これらのシステムでシミュレーションを実行した場合、理論的にはすべての乱数シードが影響を受ける可能性があります(アルゴリズムについては後述)。これは、同じシードが使用されることを意味するためです。ほとんどの個別のシミュレーションにとっては、生成された数値が依然としてランダムであるため、問題ありません。最も影響を受けやすいのは、同じ開始構造を使用し、異なる乱数シードを自動的に生成して多数のシミュレーションを開始する場合です(手動でシードを選択するのではなく)。この場合、Ryzenハードウェアのバグにより、すべてのシミュレーションで同じ生成された初期速度、または使用しているアルゴリズムに応じて、同じ確率的な変化などが得られる可能性があります。
影響を受けるアルゴリズムの一覧は、以下のとおりです。
gmx grompp でのシードの設定は、ユーザーがシードを指定しない場合(たとえば、
-1を使用して GROMACS にシードを生成するように指示する場合)に影響を受けます。これにより、ランジェビン/確率的ダイナミクス、v-rescale ターモスタット、およびモンテカルロに関連するすべての処理、およびランダムな速度の生成に影響を与える可能性があります。レプリカ交換シミュレーション中に、どのタイミングでレプリカを交換するかを決定する方法。
``AWH``に含まれるランダムなコンポーネントを使用したシミュレーション。
一部の分析および準備ツールが影響を受ける可能性があります。具体的には、自由空間の計算、イオンの配置、WHAM、固有値解析、およびPMEエラー推定などが含まれます。
診断: エラーの検出を支援するために、gmx mdrun -debug 1 を、GROMACS 2020.4 以降のバージョンで実行してください。これにより、デバッグログが生成され、通常は gmx.debug という名前で保存されます。このファイルには、プログラムが実行されたプロセッサが影響を受けている場合に、次のメッセージが含まれます。
ハードウェア乱数生成器 (RDRAND) が連続して -1 (0xFFFFFFFF) を返しました。これは、AMD Ryzen のマイクロコードに存在する既知のバグによる可能性があります。ハードウェアデバイスではなく、疑似乱数生成器 (PRNG) を使用します。
以前のバージョンでは、影響を受けるシステムでユニットテストスイートの SeedTest.makeRandomSeed テストが失敗します。確認するには、ビルドフォルダで make check を実行してください。サンプルテストコードは、以下のリンクから入手できます。
詳細については、以下のウェブサイトをご参照ください: このウェブサイト。
gmx ツールに関する修正¶
修正:gmx trjcat -demux のデフォルト出力¶
デフォルトのファイル名生成を使用すると、ファイルは作成されません。
移植性に影響を与える修正¶
CUDA 11.0 をサポート¶
CUDA 11.0 を使用したビルドでは、設定とテストが正常に完了します。CUDA 11.0 を使用したビルドは、CC 3.0 ハードウェアのサポートを終了し、CC 8.0 を使用できるようになります。
MSVCでのビルド修正¶
ビルドが、ヘッダーが不足しているために失敗します。
RDTSCP のチェックは、x86 プラットフォームでのみ実行されます。¶
その他の項目¶
gromppがシステム全体がフリーズした場合にクラッシュする問題を修正¶
システム全体がフリーズした場合、gromppがセグメンテーション違反でクラッシュすることがありました。
シミュレーション後の出力における分子インデックスの予期せぬ変更を修正¶
繰り返し分子の分子インデックスは、再び期待されるように連続番号で表示されるようになりました(「1」のみではなく)。
修正 INTERFACE_INCLUDE_DIRECTORIES を libgromacs CMake ターゲット向け¶
libgromacs.cmake が不正であり、存在しないディレクトリを参照していました。