next up previous contents index
Next: 大規模な系の自動実行テスト Up: OpenMX Ver. 3.7 ユーザーマニュアル Previous: テスト計算   Contents   Index

自動実行のテスト

「テスト計算」の章で説明した計算に加え、OpenMXの主な機能が正常にインストールされているか確認したい場合には、 自動実行のテストを実施することをお薦めします。この自動実行テストを行うには、以下のコマンドでOpenMXを実行します。

MPI並列化の場合:

     % mpirun -np 8 openmx -runtest
  
OpenMP/MPI並列化の場合:
     % mpirun -np 8 openmx -runtest -nt 2
  

並列計算の実行の際にmpirunの他のオプションを指定することもできます。 このテストでは、OpenMXは14個の入力テストファイルを計算し、結果を「work/input_example」に格納されている参照データと比較します。 比較結果(全エネルギーおよび力の差の絶対値)は「work」ディレクトリの「runtest.result」というファイルに格納されます。 参照データは2.6 GHz Xeonシングルプロセッサのコンピュータで計算されたものです。 絶対差分が小数点以下7桁以内であればインストールは正常に行われたと判断できます。 自動実行テストの結果、生成された「runtest.result」の例を以下に示します。

1 input_example/Benzene.dat Elapsed time(s)= 4.78 diff Utot= 0.000000000000 diff Force= 0.000000000002
2 input_example/C60.dat Elapsed time(s)= 14.96 diff Utot= 0.000000000019 diff Force= 0.000000000004
3 input_example/CO.dat Elapsed time(s)= 9.86 diff Utot= 0.000000000416 diff Force= 0.000000000490
4 input_example/Cr2.dat Elapsed time(s)= 10.70 diff Utot= 0.000000000000 diff Force= 0.000000000044
5 input_example/Crys-MnO.dat Elapsed time(s)= 19.98 diff Utot= 0.000000004126 diff Force= 0.000000001888
6 input_example/GaAs.dat Elapsed time(s)= 26.39 diff Utot= 0.000000001030 diff Force= 0.000000000007
7 input_example/Glycine.dat Elapsed time(s)= 5.48 diff Utot= 0.000000000001 diff Force= 0.000000000000
8 input_example/Graphite4.dat Elapsed time(s)= 5.00 diff Utot= 0.000000002617 diff Force= 0.000000015163
9 input_example/H2O-EF.dat Elapsed time(s)= 4.88 diff Utot= 0.000000000000 diff Force= 0.000000000113
10 input_example/H2O.dat Elapsed time(s)= 4.60 diff Utot= 0.000000000008 diff Force= 0.000000013375
11 input_example/HMn.dat Elapsed time(s)= 13.44 diff Utot= 0.000000000001 diff Force= 0.000000000001
12 input_example/Methane.dat Elapsed time(s)= 3.64 diff Utot= 0.000000000001 diff Force= 0.000000002263
13 input_example/Mol_MnO.dat Elapsed time(s)= 9.43 diff Utot= 0.000000003714 diff Force= 0.000000000540
14 input_example/Ndia2.dat Elapsed time(s)= 5.67 diff Utot= 0.000000000004 diff Force= 0.000000000001
Total elapsed time (s) 138.79

この比較は同一Xeonクラスタ上で、8 MPIプロセスと2 OpenMPスレッドを用いて行われました。 浮動小数点の演算はコンピュータ環境だけでなく並列計算で使用されたプロセッサ数等にも依存するため、 上記の例では、同じコンピュータを使っているのにも関わらず差が現れているのが分かります。 各ジョブの経過時間も出力されているため、環境によって計算スピードの差を比較することができます。 「work/input_example」ディレクトリには、複数のプラットフォームで生成された「runtest.result」ファイルがあります。

参照データファイルを御自身で作成する場合には、以下のコマンドによってOpenMXを実行してください。

     % ./openmx -maketest
  

これによりOpenMXは「work/input_example」ディレクトリにある「*.dat」入力ファイルに対して、対応する「*.out」ファイルを同ディレクトリに生成します。 新しい入力datファイルを追加することで次回の自動実行テスト時に、対応する「*.out」を利用することができますが、 この手続きにより以前の「work/input_example」にある出力ファイルは上書きされてしまうことに注意してください。 開発者やヘビーユーザがコードの信頼性を確認したい場合には「自動フォース・テスター」および「自動メモリリーク・テスター」の章もご参照ください。


next up previous contents index
Next: 大規模な系の自動実行テスト Up: OpenMX Ver. 3.7 ユーザーマニュアル Previous: テスト計算   Contents   Index
t-ozaki 2013-12-23