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

自動実行のテスト

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

MPI並列化の場合:

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

尾崎研究室のクラスタ計算機 mx17 (Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz),
icc version 16.0.2, compiler option -O3 -xHOST -ip -no-prec-div -qopenmp
20 processes (MPI) x 1 thread (OpenMP)

1 input_example/Benzene.dat Elapsed time(s)= 3.09 diff Utot= 0.000000000021 diff Force= 0.000000000000
2 input_example/C60.dat Elapsed time(s)= 8.71 diff Utot= 0.000000000000 diff Force= 0.000000000000
3 input_example/CO.dat Elapsed time(s)= 6.77 diff Utot= 0.000000000000 diff Force= 0.000000000004
4 input_example/Cr2.dat Elapsed time(s)= 7.15 diff Utot= 0.000000000001 diff Force= 0.000000000001
5 input_example/Crys-MnO.dat Elapsed time(s)= 20.16 diff Utot= 0.000000000003 diff Force= 0.000000000047
6 input_example/GaAs.dat Elapsed time(s)= 27.89 diff Utot= 0.000000000000 diff Force= 0.000000000000
7 input_example/Glycine.dat Elapsed time(s)= 3.45 diff Utot= 0.000000000001 diff Force= 0.000000000000
8 input_example/Graphite4.dat Elapsed time(s)= 3.75 diff Utot= 0.000000000004 diff Force= 0.000000000152
9 input_example/H2O-EF.dat Elapsed time(s)= 2.93 diff Utot= 0.000000000000 diff Force= 0.000000000000
10 input_example/H2O.dat Elapsed time(s)= 2.80 diff Utot= 0.000000000000 diff Force= 0.000000000000
11 input_example/HMn.dat Elapsed time(s)= 8.84 diff Utot= 0.000000000000 diff Force= 0.000000000000
12 input_example/Methane.dat Elapsed time(s)= 2.38 diff Utot= 0.000000000013 diff Force= 0.000000000001
13 input_example/Mol_MnO.dat Elapsed time(s)= 6.05 diff Utot= 0.000000000001 diff Force= 0.000000000000
14 input_example/Ndia2.dat Elapsed time(s)= 4.98 diff Utot= 0.000000000000 diff Force= 0.000000000000

                                                                       Total elapsed time (s) 108.96

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

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

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

参考までにいくつかの計算機による 'runtest' の結果を以下に示します。

東京大学物性研究所 System B (sekirei) (Intel Xeon E5-2680v3 12core 2.5GHz)
icc version 18.0.5, compiler option: -O3 -xHOST -ip -no-prec-div -qopenmp -Dkcomp -fp-model precise
6 processes (MPI) x 4 thread (OpenMP)

1 input_example/Benzene.dat Elapsed time(s)= 3.69 diff Utot= 0.000000000034 diff Force= 0.000000000005
2 input_example/C60.dat Elapsed time(s)= 11.54 diff Utot= 0.000000000005 diff Force= 0.000000000006
3 input_example/CO.dat Elapsed time(s)= 6.14 diff Utot= 0.000000000106 diff Force= 0.000000001979
4 input_example/Cr2.dat Elapsed time(s)= 5.80 diff Utot= 0.000000000364 diff Force= 0.000000000033
5 input_example/Crys-MnO.dat Elapsed time(s)= 58.73 diff Utot= 0.000000000003 diff Force= 0.000000000005
6 input_example/GaAs.dat Elapsed time(s)= 48.60 diff Utot= 0.000000000010 diff Force= 0.000000000002
7 input_example/Glycine.dat Elapsed time(s)= 3.39 diff Utot= 0.000000000001 diff Force= 0.000000000000
8 input_example/Graphite4.dat Elapsed time(s)= 9.05 diff Utot= 0.000000000016 diff Force= 0.000000000019
9 input_example/H2O-EF.dat Elapsed time(s)= 3.04 diff Utot= 0.000000000002 diff Force= 0.000000000001
10 input_example/H2O.dat Elapsed time(s)= 2.69 diff Utot= 0.000000000000 diff Force= 0.000000000019
11 input_example/HMn.dat Elapsed time(s)= 10.50 diff Utot= 0.000000000085 diff Force= 0.000000000022
12 input_example/Methane.dat Elapsed time(s)= 2.05 diff Utot= 0.000000000003 diff Force= 0.000000000002
13 input_example/Mol_MnO.dat Elapsed time(s)= 6.41 diff Utot= 0.000000000617 diff Force= 0.000000000018
14 input_example/Ndia2.dat Elapsed time(s)= 5.59 diff Utot= 0.000000000000 diff Force= 0.000000000000

                                                                       Total elapsed time (s) 177.21



東京大学物性研究所 System C (enaga) (Intel Xeon 6148 20core 2.4GHz)
icc version 18.0.5, compiler option: -O3 -xHOST -ip -no-prec-div -qopenmp -Dkcomp -fp-model precise
5 processes (MPI) x 4 thread (OpenMP)

1 input_example/Benzene.dat Elapsed time(s)= 2.92 diff Utot= 0.000000000025 diff Force= 0.000000000002
2 input_example/C60.dat Elapsed time(s)= 9.47 diff Utot= 0.000000000005 diff Force= 0.000000000003
3 input_example/CO.dat Elapsed time(s)= 5.71 diff Utot= 0.000000000072 diff Force= 0.000000001573
4 input_example/Cr2.dat Elapsed time(s)= 5.46 diff Utot= 0.000000000845 diff Force= 0.000000000111
5 input_example/Crys-MnO.dat Elapsed time(s)= 40.05 diff Utot= 0.000000000002 diff Force= 0.000000000066
6 input_example/GaAs.dat Elapsed time(s)= 37.81 diff Utot= 0.000000000009 diff Force= 0.000000000001
7 input_example/Glycine.dat Elapsed time(s)= 2.96 diff Utot= 0.000000000001 diff Force= 0.000000000001
8 input_example/Graphite4.dat Elapsed time(s)= 5.76 diff Utot= 0.000000000002 diff Force= 0.000000000140
9 input_example/H2O-EF.dat Elapsed time(s)= 2.44 diff Utot= 0.000000000000 diff Force= 0.000000000000
10 input_example/H2O.dat Elapsed time(s)= 2.39 diff Utot= 0.000000000002 diff Force= 0.000000003224
11 input_example/HMn.dat Elapsed time(s)= 10.08 diff Utot= 0.000000000129 diff Force= 0.000000000020
12 input_example/Methane.dat Elapsed time(s)= 1.88 diff Utot= 0.000000000001 diff Force= 0.000000000000
13 input_example/Mol_MnO.dat Elapsed time(s)= 6.09 diff Utot= 0.000000000272 diff Force= 0.000000000150
14 input_example/Ndia2.dat Elapsed time(s)= 4.02 diff Utot= 0.000000000000 diff Force= 0.000000000001

                                                                       Total elapsed time (s) 137.06



北陸先端科学技術大学 hster (Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz)
icc compiler Ver. 14.0.2.144, compiler option: -openmp -O3 -xAVX -ip -no-prec-div
20 processes (MPI) x 1 thread (OpenMP)

1 input_example/Benzene.dat Elapsed time(s)= 5.30 diff Utot= 0.000000000038 diff Force= 0.000000000003
2 input_example/C60.dat Elapsed time(s)= 12.53 diff Utot= 0.000000000001 diff Force= 0.000000000002
3 input_example/CO.dat Elapsed time(s)= 10.55 diff Utot= 0.000000000047 diff Force= 0.000000007948
4 input_example/Cr2.dat Elapsed time(s)= 10.74 diff Utot= 0.000000000381 diff Force= 0.000000000102
5 input_example/Crys-MnO.dat Elapsed time(s)= 27.48 diff Utot= 0.000000000001 diff Force= 0.000000000035
6 input_example/GaAs.dat Elapsed time(s)= 38.56 diff Utot= 0.000000000001 diff Force= 0.000000000001
7 input_example/Glycine.dat Elapsed time(s)= 5.76 diff Utot= 0.000000000001 diff Force= 0.000000000000
8 input_example/Graphite4.dat Elapsed time(s)= 6.73 diff Utot= 0.000000000003 diff Force= 0.000000000073
9 input_example/H2O-EF.dat Elapsed time(s)= 5.00 diff Utot= 0.000000000001 diff Force= 0.000000000001
10 input_example/H2O.dat Elapsed time(s)= 4.86 diff Utot= 0.000000000000 diff Force= 0.000000000020
11 input_example/HMn.dat Elapsed time(s)= 13.97 diff Utot= 0.000000000118 diff Force= 0.000000000001
12 input_example/Methane.dat Elapsed time(s)= 4.36 diff Utot= 0.000000000006 diff Force= 0.000000000002
13 input_example/Mol_MnO.dat Elapsed time(s)= 9.83 diff Utot= 0.000000000144 diff Force= 0.000000000079
14 input_example/Ndia2.dat Elapsed time(s)= 8.39 diff Utot= 0.000000000000 diff Force= 0.000000000001

                                                                       Total elapsed time (s) 164.04



北陸先端科学技術大学院大学 CRAY-XC40 (Intel Xeon E5-1695v4 2.1GHz)
icc version 17.0.7, compiler option: -Dxt3 -O3 -axCOMMON-AVX512,CORE-AVX512,CORE-AVX2,CORE-AVX-I,AVX,SSE4.2,SSE4.1,SSE3,SSSE3,SSE2 -qopenmp
18 processes (MPI) x 2 thread (OpenMP)

1 input_example/Benzene.dat Elapsed time(s)= 4.23 diff Utot= 0.000000000040 diff Force= 0.000000000002
2 input_example/C60.dat Elapsed time(s)= 12.40 diff Utot= 0.000000000001 diff Force= 0.000000000001
3 input_example/CO.dat Elapsed time(s)= 9.09 diff Utot= 0.000000000150 diff Force= 0.000000009551
4 input_example/Cr2.dat Elapsed time(s)= 8.56 diff Utot= 0.000000000462 diff Force= 0.000000000004
5 input_example/Crys-MnO.dat Elapsed time(s)= 20.81 diff Utot= 0.000000000001 diff Force= 0.000000000014
6 input_example/GaAs.dat Elapsed time(s)= 31.99 diff Utot= 0.000000000001 diff Force= 0.000000000001
7 input_example/Glycine.dat Elapsed time(s)= 4.71 diff Utot= 0.000000000001 diff Force= 0.000000000002
8 input_example/Graphite4.dat Elapsed time(s)= 4.89 diff Utot= 0.000000000032 diff Force= 0.000000000004
9 input_example/H2O-EF.dat Elapsed time(s)= 4.03 diff Utot= 0.000000000001 diff Force= 0.000000000002
10 input_example/H2O.dat Elapsed time(s)= 3.83 diff Utot= 0.000000000001 diff Force= 0.000000001042
11 input_example/HMn.dat Elapsed time(s)= 12.73 diff Utot= 0.000000000064 diff Force= 0.000000000029
12 input_example/Methane.dat Elapsed time(s)= 3.24 diff Utot= 0.000000000004 diff Force= 0.000000000001
13 input_example/Mol_MnO.dat Elapsed time(s)= 8.32 diff Utot= 0.000000000576 diff Force= 0.000000000032
14 input_example/Ndia2.dat Elapsed time(s)= 6.12 diff Utot= 0.000000000000 diff Force= 0.000000000001

                                                                       Total elapsed time (s) 134.96



名古屋大学 FX100 (PRIMEHPC FX100, SPARC64b XIfx, 2.2Gz)
mpifccpx, compiler option: -Kfast -Kopenmp -Dnosse -Dkcomp
16 processes (MPI) x 2 thread (OpenMP)

1 input_example/Benzene.dat Elapsed time(s)= 12.29 diff Utot= 0.000000000003 diff Force= 0.000000000005
2 input_example/C60.dat Elapsed time(s)= 29.15 diff Utot= 0.000000000158 diff Force= 0.000000000050
3 input_example/CO.dat Elapsed time(s)= 38.71 diff Utot= 0.000000000125 diff Force= 0.000000003104
4 input_example/Cr2.dat Elapsed time(s)= 25.43 diff Utot= 0.000000001020 diff Force= 0.000000000007
5 input_example/Crys-MnO.dat Elapsed time(s)= 84.38 diff Utot= 0.000000006058 diff Force= 0.000000073199
6 input_example/GaAs.dat Elapsed time(s)= 80.54 diff Utot= 0.000000000011 diff Force= 0.000000015689
7 input_example/Glycine.dat Elapsed time(s)= 14.78 diff Utot= 0.000000000000 diff Force= 0.000000000000
8 input_example/Graphite4.dat Elapsed time(s)= 14.52 diff Utot= 0.000000000016 diff Force= 0.000000000001
9 input_example/H2O-EF.dat Elapsed time(s)= 12.78 diff Utot= 0.000000000001 diff Force= 0.000000000001
10 input_example/H2O.dat Elapsed time(s)= 13.07 diff Utot= 0.000000000001 diff Force= 0.000000000023
11 input_example/HMn.dat Elapsed time(s)= 37.63 diff Utot= 0.000000000153 diff Force= 0.000000000000
12 input_example/Methane.dat Elapsed time(s)= 9.82 diff Utot= 0.000000000007 diff Force= 0.000000000002
13 input_example/Mol_MnO.dat Elapsed time(s)= 26.48 diff Utot= 0.000000000209 diff Force= 0.000000000058
14 input_example/Ndia2.dat Elapsed time(s)= 19.74 diff Utot= 0.000000000000 diff Force= 0.000000000001

                                                                       Total elapsed time (s) 419.32



尾崎研究室 pauli (AMD EPYC 7351P, 2.4GHz)
gcc version 7.4.0, compiler option: -Dkcomp -O3 -march=znver1 -mtune=znver1 -mfma -mavx2 -m3dnow -fomit-frame-pointer -fopenmp
12 processes (MPI) x 1 thread (OpenMP)

1 input_example/Benzene.dat Elapsed time(s)= 3.32 diff Utot= 0.000000000039 diff Force= 0.000000000002
2 input_example/C60.dat Elapsed time(s)= 13.49 diff Utot= 0.000000000013 diff Force= 0.000000000006
3 input_example/CO.dat Elapsed time(s)= 9.13 diff Utot= 0.000000000064 diff Force= 0.000000000934
4 input_example/Cr2.dat Elapsed time(s)= 8.43 diff Utot= 0.000000002324 diff Force= 0.000000000157
5 input_example/Crys-MnO.dat Elapsed time(s)= 25.40 diff Utot= 0.000000000003 diff Force= 0.000000000070
6 input_example/GaAs.dat Elapsed time(s)= 38.09 diff Utot= 0.000000000002 diff Force= 0.000000000001
7 input_example/Glycine.dat Elapsed time(s)= 4.41 diff Utot= 0.000000000001 diff Force= 0.000000000003
8 input_example/Graphite4.dat Elapsed time(s)= 4.83 diff Utot= 0.000000000015 diff Force= 0.000000000011
9 input_example/H2O-EF.dat Elapsed time(s)= 3.55 diff Utot= 0.000000000000 diff Force= 0.000000000001
10 input_example/H2O.dat Elapsed time(s)= 2.95 diff Utot= 0.000000000001 diff Force= 0.000000000806
11 input_example/HMn.dat Elapsed time(s)= 11.85 diff Utot= 0.000000000113 diff Force= 0.000000000001
12 input_example/Methane.dat Elapsed time(s)= 2.72 diff Utot= 0.000000000006 diff Force= 0.000000000001
13 input_example/Mol_MnO.dat Elapsed time(s)= 8.01 diff Utot= 0.000000000326 diff Force= 0.000000000050
14 input_example/Ndia2.dat Elapsed time(s)= 5.93 diff Utot= 0.000000000000 diff Force= 0.000000000000

                                                                       Total elapsed time (s) 142.11


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