GROMACS 2023.2 リリースノート

このバージョンは2023年7月12日にリリースされました。これらのリリースノートは、|Gromacs|の2023.1バージョンからの変更を記録し、既知の問題を修正するために作成されています。また、2022.6バージョンおよびそれ以前のすべての修正も含まれており、詳細は:ref:`release-notes`で確認できます。

mdrunが誤った動作をする問題を修正

修正:LJ-14パラメータのみを調整した場合のmdrunでのクラッシュ

Issue 4769

修正:フリーエネルギーとLJ-PMEにおける数値的不安定性

フリーエネルギー計算とPME(ポテンシャルメディエイト法)をLennard-Jones相互作用に組み合わせる場合、大きな丸め誤差が発生し、2つの原子が短い距離に近接している場合に不安定性が生じることがあります。

Issue 4780

修正: mdrun のドメイン分割設定の最大原子数を 715827882 に制限

ドメイン分割グリッドの設定におけるオーバーフローにより、`-dd`オプションが指定されていない場合、シミュレートできる最大原子数が`max_int/3`に制限されました。

Issue 4627

結合されたペア間の相互作用が存在しないことを許可する

-noddcheck オプションを使用すると、mdrun は以前、結合されたペア間の相互作用が欠落している場合にエラーを発生させていました。現在、この制限は解除され、結合されたペア間の相互作用が欠落した場合でもエラーは発生しません。

Issue 4787

出力ファイルで、アトムの数と上限値を増やし、確認する

チェックポイントとTRRファイル内の最大原子数を715,827,882から1,431,655,765に増やしました。この制限を超えると、mdrunは明確なエラーメッセージを表示して終了します。XTCファイルについては、別の修正により制限が引き上げられます。

Issue 4627

修正:アンネーリングと複数のT-カップリンググループでのアサーションエラー

Issue 4800

適切なバックアップチェックポイントを更新する

2023年および2023.1では、「state_prev.cpt」ファイルは上書きされなかったため、常に実行の最初のチェックポイントを含んでいました。

Issue 4810

結合相互作用による長距離のドメイン分割の修正

`mdrun`は、ドメイン分割を使用し、結合相互作用がペアリストのカットオフよりも長い距離に関与する場合に、結合相互作用が欠落したというエラーで終了します。

Issue 4818

gmx ツールに関する修正

ツールがエネルギー最小化を行う際に、.tprファイルを読み込む際にエラーが発生するのを避ける。

多くのツールは、エネルギー最小化、NM、または TPI などのインテグレータが設定されている状態で tpr ファイルを読み取る際に、「入力ファイルに 'v' が含まれていません」というエラーで終了します。

Issue 4774

ツールは、PDB を入力として使用する場合に、チェーン識別子を保持するようになりました。

Issue 4776

gmx hbondツールは、ランダムな結果を生成することがありました。

メモリが初期化されていないため、gmx hbondツールはランダムな出力を生成することがありました。これにより、問題がすぐに特定されることができました。また、-acおよび-lifeオプションに関連する問題も修正されました。

Issue 4801

移植性に影響を与える修正

パッケージ構成ファイル

環境によっては、GROMACS 2023 および 2023.1 が、{prefix}/share/cmake/gromacs{$SUFFIX}/ に、不正な gromacs-config.cmake ファイルをインストールし、find_package(gromacs) CMake コマンドの失敗を引き起こす可能性があります。

  • rocfft は、もう公開の依存関係ではありません。

  • 構成パッケージのファイルは、関連する場合には、hipSYCL (Open SYCL) への依存関係を完全に表現します。

Issue 4793, Issue 4797

その他の機能

gmxapi.commandline_operation 環境変数のフィルタリング

新しいユーティリティ (:py:func:``gmxapi.runtime.filtered_mpi_environ()) が利用可能になり、MPIに関連する環境変数を :py:data:``os.environ から削除できるようになりました。これにより、gmxapi.commandline_operation のサブプロセスの環境を準備することができます。

これは、元の修正が不十分であった :issue:`4423`への追跡であり、この問題を解決するために追加の修正が必要な状況です。

Issue 4736

gmxapi実行時の依存関係チェック

GROMACS が MPI サポートまたはスレッド-MPI サポートで構築されているかどうかによって、gmx mdrun の一部のオプションが定義されていません。このようなエラーは、MD ログファイルにのみ表示される可能性があり、API の使用例では特定が困難になる場合があります。

追加の検証機能が gmxapi.simulation.workflow.from_tpr に追加され、ユーザーエラーを未然に防ぐことを目的としています。また、gmxapi.mdrun に関する追加の利用に関するメモが追加されました。

Issue 4771

gmxapi.mdrun のタスクの一意性

すべての gmxapi.mdrun シミュレーションタスクが同じID(および作業ディレクトリ)を持っているというバグを修正しました。

Issue 4795

マルチGPUでCUDAグラフが有効になっている場合に発生するクラッシュの修正

バージョン2023.1にバグが導入され、マルチGPU環境でCUDAグラフの実験的な機能が有効になっている場合にクラッシュが発生しました。これは、CUDAグラフのコードパスに必要なものではない、追加の同期が導入されたことが原因です。このバージョンでは、グラフを使用している場合にこの同期を回避することで、問題を修正します。

Issue 4786

巨大システムでのXTCサポートを有効にする

(旧)XTC形式では、内部の文字バッファのサイズがバイト単位でファイルに整数として保存されていたため、300万個を超えるアトムを持つシステムでクラッシュが発生することがありました。このバージョンでは、大規模システムに対して64ビットのサイズのみを使用し、XTCヘッダーに異なるマジックナンバー(2023)を使用することで、この問題を修正します。これにより、大規模システムのみのXTC形式が変更されます(これは旧バージョンでもクラッシュを引き起こす可能性がありました)。大規模システム用のXTCファイルは、外部ツールからは読み取れない可能性があります(不正なマジックナンバーに関するエラーが発生する場合があります)。ただし、外部パッケージの更新に取り組んでおり、それらの実装を修正する予定です。

Issue 4628

OpenCLにおけるリソースリークの修正

gmx mdrun が OpenCL で構築され、GPU で実行される際に、徐々にメモリを消費する問題を修正しました。

Issue 4807

convert-tpr が初期速度を割り当てることを許可する

「free energy」のような大規模なアンサンブルプロジェクトでは、システムごとに数千回のシミュレーションを必要とする場合があるため、convert-tpr を使用して新しいランダムな速度セットを割り当てるように変更しました。これにより、grompp を使用して完全な tpr を再生成する必要がなくなります。また、mdp ファイルで速度シードを 0 に設定すると、-1 と同じ効果があり、OS から新しいシードが生成されるというバグを修正しました。

Issue 4809

正しいノーズ-フーバーサーモスタットの数式

Nosé-Hoover の温度結合を記述するいくつかの数式に不整合がありました。実際の実装に合わせて、参照マニュアルが更新されました。

Issue 4695

修正:破損したgccバージョンの`commandline-test`での動作

gcc 9.3.1 は、適切なパスを生成できず、その結果、テストが失敗します。

Issue 4785

AMD Zen 4 / Genoa での SIMD 検出/推奨の修正

Zen 4 は単一の AVX-512 ユニットを提供しますが、Intel のチップとは異なり、単一の AVX-512 ユニットを使用する方が、より高速である可能性が高いです。これは、より高いクロック周波数と低い命令負荷によるものです。この変更により、Zen 4 では AVX-512 がデフォルトで選択されます(これにより、パフォーマンスが 5~10% 向上する可能性があります)。また、ハードウェア検出を修正し、Intel CPU のみで AVX ユニットをカウントするようにします。さらに、検出メッセージを明確化し、特定の命令セットのハードウェアサポートではなく、期待されるパフォーマンスに基づいて検出されることを明確にし、標準出力メッセージが 1 行に収まるようにします。

Issue 4715