In addition to a running test of the Section 'Test calculation', if you want to check whether most functionalities of OpenMX have been successfully installed on your computer or not, we recommend for you to perform an automatic running test. To do this, you can run OpenMX as follows:
For the MPI parallel running
% mpirun -np 8 openmx -runtestFor the OpenMP/MPI parallel running
% mpirun -np 8 openmx -runtest -nt 2
In the parallel execution, you can specify other options for mpirun. Then, OpenMX will run with 14 test files, and compare calculated results with the reference results which are stored in 'work/input_example'. The comparison (absolute difference in the total energy and force) is stored in a file 'runtest.result' in the directory 'work'. The reference results were calculated using a single processor of a 2.6 GHz Xeon machine. If the difference is within last seven digits, we may consider that the installation is successful. As an example, 'runtest.result' generated by the automatic running test is shown below:
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 |
The comparison was made using 8 processes by MPI with 2 treads by OpenMP on the same Xeon cluster
machine.
Since the floating point operation depends on not only computer environment,
but also the number of processors used in parallel execution, we see in the above example
that there is a small difference even using the same machine.
The elapsed time of each job is also output, so it is helpful in comparing the computational
speed depending on computer environment. In the directory 'work/input_example', you can find
'runtest.result' files generated on several platforms.
If you want to make reference files by yourself, please execute OpenMX as follows:
% ./openmx -maketest
Then, for input files '*.dat' in the directory 'work/input_example', OpenMX will generate the output files '*.out' in 'work/input_example'. So, you can add a new dat file which is used in the next running test. But, please make sure that the previous out files in 'work/input_example' will be overwritten by this procedure. For advanced testers for checking the reliability of code, see also the Sections 'Automatic force tester' and 'Automatic memory leak tester'.