GROMACS 2018.1 リリースノート¶
このバージョンは2018年3月21日にリリースされました。これらのリリースノートは、|Gromacs|の初期バージョン2018以降に変更された内容を記録し、既知の問題を修正することを目的としています。また、2016.5およびそれ以前のすべての修正も含まれており、詳細は:ref:`release-notes`で確認できます。
mdrunが誤った動作をする問題を修正¶
修正:Nose-Hoover T結合とParrinello-Rahman P結合を使用したスキップ型インテグレー¶
パリンネロ-ラフマンのP couplingが有効になっている場合、MDステップでP結合が発生しない場合に、ノーズ-フーバーのT結合を適用すると、更新フェーズで古いまたは無効な結合データを使用する可能性があります。以下のようなシミュレーション(:mdp:`nsttcouple`と:mdp:`nstpcouple`が等しい)は、この問題の影響を受けません。そのため、影響を受けるユーザーはごくわずかです。他の結合アルゴリズムを使用するシミュレーションは影響を受けません。
SIMD 結合を使用し、擾乱のない相互作用を行った¶
自由エネルギー計算において、摂動された原子タイプの間の結合相互作用が欠如していた場合、SIMDによる加速された結合関数が無効になっていました。現在、この機能が有効になっています。これにより、特定の種類の自由エネルギー計算のパフォーマンスが向上します。
固定された、変位がゼロだった債券を修正¶
私たちは、調和結合における重なり合う原子を許可する必要があります。しかし、以前のコードは浮動小数点例外を引き起こし、不正確なエネルギー勾配を生成していました。
システムの一部で、重心移動を修正しました。¶
システムの一部を対象としたCOMMの削除要求が、システム全体に適用された。
複数のシミュレーションにおける複数のランクの同時実行を修正¶
以前は、シミュレーションを開始する前に、原因不明でクラッシュしたり、フリーズしたりすることがありました。
シミュレーション間の信号伝達の実装が改善されました¶
シミュレーションの回数が多い場合、または1回のシミュレーションあたりのスレッド数を増やすことで、通信オーバーヘッドを削減できます。
SHAKEを使用したFEP計算の修正¶
SHAKE + FEP のすべての計算結果は、d(H)/d(l) の出力に誤った値を累積しましたが、一部のケースでは結果は同じに見えます。
修正:define ステートメントでプレプロセッサ値を指定した場合の処理¶
現在、.mdpファイルを使用して、指定した値でトポロジーを構成できます。例えば、"define = -DBOOL -DVAR=VALUE" のように。
ゼロ除算によるエラーを防ぐために、ログファイルの平均値を計算する際に、ゼロ除算が発生するのを防ぎました。¶
シミュレーションフレームが非常に少ない場合に、エネルギーの計算結果が少ない場合、平均値を計算するためのデータが不足する可能性があります。その場合、平均値の表示を完全にスキップしてください。
forcerec で適切なカットオフ修飾子を設定する¶
「インタラクション_コンスタント_t から forcerec_t への修飾子のコピーが実施されなかったため、グループスキームのみで汎用カーネルが使用されていました。この修正により、グループスキームのパフォーマンスが復元されます。」
GPU と CPU を両方使用して PME の混合モードにおけるボックスのスケーリングの問題を修正しました。¶
GPUサポートを再有効化し、壁と1つのエネルギーグループを使用¶
単一の非結合エネルギーグループと壁を使用することで、GPUを使用して非結合計算を行うことができます。
SD統合機能との連携で、氷が崩れる警告機能を削除¶
SDを使用すると、摩擦が発生するため、氷が転がり落ちません。
テスト中の粒子挿入におけるアサーションエラーを修正¶
TPI内の誤ったロジックにより、常にエラーが発生し、結果は生成されませんでした。
-multi オプションを指定しない場合に、mdrun が「No option -multi」と出力するのを回避¶
mdrun は、MPI レングの数だけ「オプション -multi」というメッセージを標準エラー出力に出力します。また、エラーメッセージ内の "-multi" を "-multidir" に更新しました。
AWHとawh1-equilibrate-histogram=yesを使用した場合のクラッシュを修正¶
AWH を awh1-equilibrate-histogram=yes および複数の MPI ランクで実行すると、シミュレーションがクラッシュする。
AWHおよびバイアス共有に関する問題を修正¶
複数のシミュレーション間でAWHバイアスを共有する場合、以下の4つの問題が発生しました
AWHとドメイン分解を使用したバイラル問題を修正¶
AWHをドメイン分割で実行する場合、AWH/プルバイラル項はMPIのプロセス数で乗算されます。
プルジオメトリ方向-周期の再起動時のバグを修正¶
COMがジオメトリ方向-周期モードでプルを行う場合、(ただし)チェックポイントからの継続時に、最も近いPBCイメージが参照値に最も近いイメージの代わりに使用されます。これにより、継続ステップでプル力に急激なスパイクが発生する可能性があります。
gmx ツールに関する修正¶
gromppにチェックを追加して、アサーションエラーを回避¶
現在と以前の両方の名前でパラメータが指定されたmdpファイルを使用すると、自動的に置き換えられるため、アサーションが失敗します。現在、致命的なエラーが発行されます。
gromppにおけるネット電荷チェックの修正¶
複数の非連続な分子タイプの使用が、現在は正しく機能します。
TNG出力における選択グループの追加に関する問題を修正¶
モレキュールの種類がモレキュールブロックの数よりも多い場合に、出力が正しくなくなっていました。
「pdb2gmx -missing」のヘルプテキストと機能を修正¶
これにより、終端で「不安定な」結合が可能になり、特定の状況で役立ちます。
移植性を向上させるための修正¶
PME(Power Management Engine)が、フェルミ時代のGPUを搭載した大規模システムで動作するようになりました。¶
古いGPUでは、ハードウェアのサイズ制限により問題が発生することがありましたが、現在は修正されています。
GoogleTest の「死亡テスト」は、より移植性の高い方法で使用されるようになりました。¶
GPUユーティリティ機能のテストがより堅牢になりました¶
非GPUビルド、およびGPUビルドで互換性のない、または利用できないデバイスが見つかった場合、テストは意図された方法で成功します。
より移植性の高い Python の shebang を使用¶
参照:https://www.python.org/dev/peps/pep-0394/#recommendation に基づき、env を使用し、Python 2 に設定する必要があります。Python 2 と Python 3 の両方に対応できるようになった時点で、この設定を変更する必要があります。
一部のディストリビューション(特にArch Linux)では、すでにpythonをpython3に設定しているため、明示的に設定することで、より移植性を高めることができる。
GCC 5.3 で AVX512 ハードウェアをターゲットとする場合の対処法を追加¶
GCC 5.3 は、オーバーロード解決におけるバグにより、AVX512 とスカラー関数が曖昧になるという問題を抱えています。
isfinite 関数は、明確な意味で使用されます。¶
ベセリン・コレフ氏が提供したパッチにより、一部のコンパイラ警告を抑制します。
gcc-6 の表形式のグループ非相互作用カーネルに関するバグを回避¶
gcc-6、AVXおよび-O3(デフォルト)を使用すると、(廃止された) cutoff-scheme グループの表形式の非相互作用カーネルは、不正確なエネルギーと力を生成しました。これらのエラーは非常に大きいため、潜在的な問題を発生させることはありませんでした。
AMD Zen SMT 構成が正しく検出されました¶
最近のAMD Zenプロセッサでは、ハードウェアスレッドの検出とピンニングの処理が修正され、パフォーマンスが向上しました。
gcc 8 以後のバージョンで利用される POWER VSX SIMD の使用を修正¶
clang 6 と CUDA 9 の問題を修正¶
sm_70 のビルドを可能にし、sm_37 に関する問題を回避する可能性があります。
その他の項目¶
異なるコンパイラで再現可能なマルチ原子 TPI を作成しました。¶
ドキュメントの改善¶
特に、GPUに関連するmdrunのオプションの処理と、良好なパフォーマンスでmdrunを実行する方法について。