GROMACS 2016.2 リリースノート¶
このバージョンは2016年2月7日にリリースされました。これらのリリースノートは、|Gromacs|のバージョン2016.1以降で発生していた既知の問題を修正するために行われた変更を文書化しています。また、バージョン5.1.4およびその後のすべての修正も含まれています。
mdrun が誤った動作をする問題を修正¶
「デカップリングモードにおける均一化違反のリスクを評価するためのgromppチェックを追加」¶
角度に制約された結合を持つ原子が、非常に異なる質量を持つ場合、非常に弱い結合モードが生じることがあります。デフォルトのmdp設定では、均一なエネルギー分布を得ることが難しい場合があります。この変更により、この問題を検出するためのgromppチェックが追加されます。
関連する:2071
9種類のダイヘドラル型を上書きすることを禁止する¶
9種類のダイヘドラルのパラメータブロック(複数行)の繰り返しは、現在は許可されません。また、9種類のダイヘドラルのパラメータや設定を上書きすることも許可されません。これらは、適切に検証することが非常に複雑であるためです。ただし、1行で構成されたパラメータブロックの繰り返しは、依然として許可されています。同じパラメータで構成されたブロックを繰り返すと、誤ったダイヘドラルのポテンシャルと力が計算される可能性があります。
修正:フラットボトムの位置制約 + DD + OpenMP¶
(再)割り当てが不足していたため、クラッシュが発生しました。
マルチドメインの再実行を修正¶
古いコードの整理により、複数のドメインでの再実行がクラッシュしました。これは、ロジックが2つの場所に分離されているため、考慮されていなかったことが原因です。
mdrun のパフォーマンスに関する問題の修正¶
CUDA sm_60 のパフォーマンスを修正¶
カーネルの起動は、GP100アーキテクチャのSMサイズに最適化されています。
gmx ツールに関する修正¶
クロス相関計算におけるFFT処理のいくつかの問題を修正しました。¶
複雑な数の配列をポインタの配列として作成し、gmx_fft_1d に渡す方法では、動作しません。
gmx rmsf -q -oq の問題を修正¶
これにより、PDBファイルには、-sファイルから得られた座標に基づいてB因子が含まれるようになり、-qファイルから得られた座標ではなくなった。gmx rmsf -oqは問題なく動作した。
gmx の注文処理におけるクラッシュを修正¶
gmx は、ヒストグラムを計算するために、煩雑な浮動小数点数を使用していたため、インデックスの値が負になる可能性がありました。
修正された軽微な trjconv のバグ¶
gmx trjconv -novel -f in.pdb -o out.pdb が、現在ではより良い結果が得られる可能性があります。
gmx vanhoveでの時刻ラベルの印刷を修正¶
xpm2ps および membed で、警告を発行する処理を正しく処理¶
コードは、エラーの確認を行う前に、出力ファイルを上書きしてはなりません。membedの場合、入力ファイルに問題がある場合は、ユーザーに修正を求める方が適切です。
自己値処理に関するドキュメントの修正¶
一部のファイル形式に関するドキュメントは、eigio.cppの実装と一致していませんでした。
gmx anaeig -eig -eig2 の動作に関するドキュメントは不十分でした。
編集構成のB係数アタッチメントをより実用的に¶
B値は、インデックスが残りの残りの数よりも大きいか、オプションが指定されていない限り、残りに追加されます。タンパク質残りのインデックスは、任意の数値から開始できますが、大きな数値から開始した場合、残りにB値を追加することはできません。
この修正により、B-ファクターの値が残りの残りの数よりも多い場合にのみ、残りにB-ファクターの値が追加されます。
長期間の選択で発生する可能性のあるメモリエラーを修正¶
もし選択された文字列が1000文字を超えており、かつ1000文字目ちょうどに空白が含まれていた場合、バッファオーバーフローが発生する可能性があります。コードを大幅に簡略化するために、バッファをstd::stringに置き換えました。
修正:位置変数を使用した加算/マージの利用方法¶
もし、選択に含まれる位置変数(例:'com of ...')が複数回使用され、そのうち少なくとも1回が '+' または 'merge' 演算で使用された場合、メモリ外への書き込みが発生しました。これは、内部の位置構造が完全に初期化されないことが原因です。このような変数が存在するすべてのコンテキストで不完全な初期化が発生しますが、'+'、'merge'(および場合によっては 'permute')のみが、初期化されていない値を使用するため、結果を格納するために必要なメモリ量を誤って計算しました。
改善されたドキュメント¶
ユーザー向けのドキュメントとメッセージにいくつかの軽微な改善を実施しました。¶
特に、選択に関する項目については:
resindexとresnrキーワードの説明を、選択ヘルプのドキュメントに記載しました。-s および -f オプションで指定されたファイルが、選択モードでどのように処理されるかを説明しました。
tau-p と pcoupltype の使用方法を明確化¶
gromppは以前、「tau-p = 5 5」のような誤った設定を許可していました。これは、圧力カップリングには1つの定数のみが許可される(グループベースの温度カップリングとは異なる)ということを反映していませんでした。最近修正された:issue:`1893`により、ユーザーはgromppからの警告を受け取るようになり、これにより、圧力カップリングが異なることを明確にするために、ドキュメントが改善されました。
移植性の向上¶
修正:x86 アーキテクチャに対する IBM s390x 固有の条件¶
CpuInfoTest.SupportLevel テストが IBM s390x で失敗するのは、誤った条件が使用されているためです。
ビルドシステムの改善¶
CMAKE_CXX_FLAGS="-Wall -Werror" を使用したコンパイルを修正¶
Mac のビルドシステムで objdump --reloc を使用する試みを中止¶
最近の Xcode の objdump は --reloc オプションをサポートしていません。
`objdump`の実行結果に基づいて表示される警告は、Linuxに似た環境でのみ動作するように設計されているため、他のプラットフォームでのCMake出力への不要な表示を避けるようにしてください。
ビルドシステムにおけるプラグインのロード機能の改善¶
mdrun-only および prefer-static-libs ビルドでは、BUILD_SHARED_LIBS のデフォルト設定がオフに設定され、これにより、VMD をベースとした I/O 処理などのプラグインのサポートが無効になります。
GMX_LOAD_PLUGINSを、ON/OFF/AUTOの3つの状態に変更しました。これにより、前提条件が満たされない場合に、適切な動作を選択できるようになります。
静的ライブラリが見つかった場合、hwloc のサポートを無効にする¶
静的ライブラリ libwloc.a が検出される場合、CMake 時には Hwloc の依存関係が解決されません。この場合、ほとんどの場合、リンク時のエラーにより GROMACS のビルドが失敗します。ユーザーがこのような曖昧なエラーを解決する方法を知るのは難しく、Hwloc は必須の依存関係ではないため、静的ライブラリが検出された場合は Hwloc のサポートを無効にします。ユーザーは、cmake コマンドラインでこれを上書きできます。
GMX_EXTERNAL_TNG=ON を使用したビルドの修正¶
ユーザーの問題を軽減するメンテナンス¶
Mdrun は、無効なパフォーマンスデータをより頻繁に出力しない¶
mdrun がスケジュールされたタイミング情報のリセット(例:mdrun -resetstep または mdrun -resethway)の前に完了した場合、誤ったタイミング情報が報告されるべきではありません。
関連して、gmx tune_pme のデフォルトのリセットステップが 1500 に増加しました。
結合コードにおけるスレッド数の実行時チェックを追加¶
OpenMPスレッドの数がGMX_OPENMP_MAX_THREADSを超えないというデバッグアサーションを致命的なエラーに置き換えました。ただし、リストされた力の削減は、リストされた力を使用する場合に実際に必要ないため、現在は条件付きとなり、mdrunはGMX_OPENMP_MAX_THREADSを超えるスレッドで実行できます。
TNG の長距離軌跡の読み込みにおける、整数型の変換に関する問題を修正¶
TNGの軌跡を、十分な数のフレームで読み取ることで、フレーム番号に使用される整数が切り捨てられる問題を修正しました。 64ビット整数を使用するように修正し、元の仕様どおりに動作するようにしました。
TRRの読み込みロジックを修正¶
trr ファイルを読み込む際に、ファイルの終わりに到達することが、読み取りエラーやマジックナンバーエラーと区別がつかず、誤った処理が行われていました。この問題は修正され、それぞれのケースで本来の動作が復元されました。