Top Page > Browsing
The result of runtest
Date: 2021/08/20 10:49
Name: K. Yamaguchi

Hello,

I installed the latest version of OpenMX and calculated the Runtest with 72 processes (MPI) x 2 thread (OpenMP).
"diff Utot" looks good, however, "diff Force" is not satisfied that the difference is within last seven digits.
When I don't use OpenMP, it also looks good.
What is the origin of this problem?
Thank you in advance.

Best regards,
K. Yamaguchi

The results are the below with 72 processes (MPI) x 2 thread (OpenMP):
1 input_example/Benzene.dat Elapsed time(s)= 12.53 diff Utot= 0.000000000022 diff Force= 0.041989929186
2 input_example/C60.dat Elapsed time(s)= 14.46 diff Utot= 0.000000000007 diff Force= 0.257163509256
3 input_example/CO.dat Elapsed time(s)= 16.20 diff Utot= 0.000000000096 diff Force= 0.004360106251
4 input_example/Cr2.dat Elapsed time(s)= 23.24 diff Utot= 0.000000000725 diff Force= 0.601592424218
5 input_example/Crys-MnO.dat Elapsed time(s)= 25.64 diff Utot= 0.000000000006 diff Force= 2.145462850566
6 input_example/GaAs.dat Elapsed time(s)= 36.03 diff Utot= 0.000000000012 diff Force= 6.322328208123
7 input_example/Glycine.dat Elapsed time(s)= 9.77 diff Utot= 0.000000000001 diff Force= 0.746506669648
8 input_example/Graphite4.dat Elapsed time(s)= 9.53 diff Utot= 0.000000000023 diff Force= 0.152410631563
9 input_example/H2O-EF.dat Elapsed time(s)= 9.15 diff Utot= 0.000000000000 diff Force= 0.448236343738
10 input_example/H2O.dat Elapsed time(s)= 9.95 diff Utot= 0.000000000000 diff Force= 0.103929614462
11 input_example/HMn.dat Elapsed time(s)= 24.97 diff Utot= 0.000000000145 diff Force= 0.646055804952
12 input_example/Methane.dat Elapsed time(s)= 8.14 diff Utot= 0.000000000014 diff Force= 0.193699198318
13 input_example/Mol_MnO.dat Elapsed time(s)= 17.77 diff Utot= 0.000000000150 diff Force= 1.583393050018
14 input_example/Ndia2.dat Elapsed time(s)= 10.11 diff Utot= 0.000000000001 diff Force= 0.046541372954

The results are the below with 36 processes (MPI) x1 thread (OpenMP):
1 input_example/Benzene.dat Elapsed time(s)= 7.51 diff Utot= 0.000000000037 diff Force= 0.000000000015
2 input_example/C60.dat Elapsed time(s)= 13.39 diff Utot= 0.000000000002 diff Force= 0.000000000005
3 input_example/CO.dat Elapsed time(s)= 14.65 diff Utot= 0.000000000098 diff Force= 0.000000007706
4 input_example/Cr2.dat Elapsed time(s)= 23.33 diff Utot= 0.000000000913 diff Force= 0.000000000171
5 input_example/Crys-MnO.dat Elapsed time(s)= 29.24 diff Utot= 0.000000000003 diff Force= 0.000000000008
6 input_example/GaAs.dat Elapsed time(s)= 43.48 diff Utot= 0.000000000000 diff Force= 0.000000000000
7 input_example/Glycine.dat Elapsed time(s)= 11.32 diff Utot= 0.000000000001 diff Force= 0.000000000000
8 input_example/Graphite4.dat Elapsed time(s)= 7.48 diff Utot= 0.000000000007 diff Force= 0.000000000018
9 input_example/H2O-EF.dat Elapsed time(s)= 8.90 diff Utot= 0.000000000000 diff Force= 0.000000000001
10 input_example/H2O.dat Elapsed time(s)= 7.33 diff Utot= 0.000000000000 diff Force= 0.000000000511
11 input_example/HMn.dat Elapsed time(s)= 21.79 diff Utot= 0.000000000125 diff Force= 0.000000000029
12 input_example/Methane.dat Elapsed time(s)= 7.24 diff Utot= 0.000000000005 diff Force= 0.000000000002
13 input_example/Mol_MnO.dat Elapsed time(s)= 17.68 diff Utot= 0.000000000370 diff Force= 0.000000000138
14 input_example/Ndia2.dat Elapsed time(s)= 9.27 diff Utot= 0.000000000001 diff Force= 0.000000000000

Here's make file:
CC = mpiicc -O3 -xHOST -ip -no-prec-div -qopenmp -I$(MKLROOT)/include/fftw
FC = mpiifort -O3 -xHOST -ip -no-prec-div -qopenmp
LIB= -L$(MKLROOT)/lib/intel64 -mkl=parallel -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -lifcore -lmpi -lmpifort -liomp5 -lpthread -lm -ldl
メンテ
Page: [1]

Re: The result of runtest ( No.1 )
Date: 2021/08/21 13:12
Name: T. Ozaki

Hi,

Thank you very much for your report.
I have noticed that the issue depends on the version of intel compiler:
icc version 18.0.1 reproduces a similar behavior, while icc version 14.0.2 does not.
I have fixed the issue and released the patch 3.9.6 at
http://www.openmx-square.org/bugfixed/21Aug21/patch3.9.6.tar.gz

Could you try it again with the patch, and report if the problem is resolved?

Regards,

TO
メンテ
Re: The result of runtest ( No.2 )
Date: 2021/08/22 11:33
Name: K. Yamaguchi

Hello,

Thank you so much for your quick bug fixes.
I have checked using "-runtest" and "-runtestL" with and without OpenMP.
I confirmed that both of results were satisfied the calculations are within last seven digits.
The intel compiler is used version of 18.0.5.274.
I can say the problem is resolved.

I also have calculated using "-runtestNEGF" with and without OpenMP.
Both of results were not satisfied.
I guess this problem is not related to OpenMP.
Do you have any solutions for this problem.

Best regards,
K. Yamaguchi


The results are the below using OpenMX 3.9.6 with 72 processes (MPI) x 2 thread (OpenMP):
1 negf_example/Lead-Au-Chain-NC. Elapsed time(s)= 37.76 diff Utot= 0.000000001377 diff Force= 0.000000000052
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
2 negf_example/Lead-Chain.dat Elapsed time(s)= 5.01 diff Utot= 0.000000000070 diff Force= 0.000000000004
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
3 negf_example/Lead-Graphene.dat Elapsed time(s)= 12.62 diff Utot= 0.000000000000 diff Force= 0.000000000000
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
4 negf_example/Lead-L-8ZGNR-NC.d Elapsed time(s)= 55.46 diff Utot= 0.000038204261 diff Force= 0.000000255690
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
5 negf_example/Lead-L-8ZGNR.dat Elapsed time(s)= 30.89 diff Utot= 0.000000000001 diff Force= 0.000000000006
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
6 negf_example/Lead-R-8ZGNR-NC.d Elapsed time(s)= 51.85 diff Utot= 0.000045529355 diff Force= 0.000000197160
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
7 negf_example/Lead-R-8ZGNR.dat Elapsed time(s)= 29.87 diff Utot= 0.000000000066 diff Force= 0.000000000004
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
8 negf_example/NEGF-8ZGNR-0.3.da Elapsed time(s)= 169.04 diff Utot= 0.928337063937 diff Force= 0.027250584747
diff EigenChannel= 0.006449277060 diff CurrentDensity= 0.000003818327
9 negf_example/NEGF-8ZGNR-NC.dat Elapsed time(s)= 501.84 diff Utot= 0.854644457748 diff Force= 0.008307886573
diff EigenChannel= 0.004743306300 diff CurrentDensity= 0.000000047881
10 negf_example/NEGF-Au-Chain-NC. Elapsed time(s)= 157.97 diff Utot= 0.001520760085 diff Force= 0.000000859463
diff EigenChannel= 0.000672803000 diff CurrentDensity= 0.000000000000
11 negf_example/NEGF-Chain.dat Elapsed time(s)= 43.16 diff Utot= 0.005593450692 diff Force= 0.003963253145
diff EigenChannel= 0.000137226000 diff CurrentDensity= 0.000000022590
12 negf_example/NEGF-Graphene.dat Elapsed time(s)= 9.37 diff Utot= 0.000810157264 diff Force= 0.000009356867
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000

The results are the below using OpenMX 3.9.6 with 72 processes (MPI) x 1 thread (OpenMP):
1 negf_example/Lead-Au-Chain-NC. Elapsed time(s)= 43.56 diff Utot= 0.000000001017 diff Force= 0.000000000150
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
2 negf_example/Lead-Chain.dat Elapsed time(s)= 6.67 diff Utot= 0.000000000070 diff Force= 0.000000000004
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
3 negf_example/Lead-Graphene.dat Elapsed time(s)= 14.68 diff Utot= 0.000000000008 diff Force= 0.000000000002
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
4 negf_example/Lead-L-8ZGNR-NC.d Elapsed time(s)= 58.22 diff Utot= 0.000038204265 diff Force= 0.000000255689
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
5 negf_example/Lead-L-8ZGNR.dat Elapsed time(s)= 32.45 diff Utot= 0.000000000001 diff Force= 0.000000000007
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
6 negf_example/Lead-R-8ZGNR-NC.d Elapsed time(s)= 55.12 diff Utot= 0.000045529353 diff Force= 0.000000197166
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
7 negf_example/Lead-R-8ZGNR.dat Elapsed time(s)= 32.07 diff Utot= 0.000000000067 diff Force= 0.000000000003
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
8 negf_example/NEGF-8ZGNR-0.3.da Elapsed time(s)= 227.95 diff Utot= 0.928337063929 diff Force= 0.027250584460
diff EigenChannel= 0.006449277050 diff CurrentDensity= 0.000003818326
9 negf_example/NEGF-8ZGNR-NC.dat Elapsed time(s)= 697.64 diff Utot= 0.854644457749 diff Force= 0.008307886333
diff EigenChannel= 0.004743306200 diff CurrentDensity= 0.000000047881
10 negf_example/NEGF-Au-Chain-NC. Elapsed time(s)= 197.09 diff Utot= 0.001520811153 diff Force= 0.000000859470
diff EigenChannel= 0.000672834600 diff CurrentDensity= 0.000000000000
11 negf_example/NEGF-Chain.dat Elapsed time(s)= 46.96 diff Utot= 0.005593450689 diff Force= 0.003963259616
diff EigenChannel= 0.000137226000 diff CurrentDensity= 0.000000022590
12 negf_example/NEGF-Graphene.dat Elapsed time(s)= 11.69 diff Utot= 0.000810157272 diff Force= 0.000009356900
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
メンテ
Re: The result of runtest ( No.3 )
Date: 2021/08/22 21:34
Name: T. Ozaki

Hi,

The "-runtestNEGF" result you got is nearly equivalent to mine shown below:

runtestNEGF.result calculated using 56 MPI processes and 1 OMP thread:

1 negf_example/Lead-Au-Chain-NC. Elapsed time(s)= 28.17 diff Utot= 0.000000000944 diff Force= 0.000000000069
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
2 negf_example/Lead-Chain.dat Elapsed time(s)= 5.66 diff Utot= 0.000000000065 diff Force= 0.000000000010
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
3 negf_example/Lead-Graphene.dat Elapsed time(s)= 12.70 diff Utot= 0.000000000006 diff Force= 0.000000000002
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
4 negf_example/Lead-L-8ZGNR-NC.d Elapsed time(s)= 101.19 diff Utot= 0.000038204261 diff Force= 0.000000255700
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
5 negf_example/Lead-L-8ZGNR.dat Elapsed time(s)= 50.86 diff Utot= 0.000000000001 diff Force= 0.000000000009
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
6 negf_example/Lead-R-8ZGNR-NC.d Elapsed time(s)= 93.17 diff Utot= 0.000045529353 diff Force= 0.000000197174
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
7 negf_example/Lead-R-8ZGNR.dat Elapsed time(s)= 48.30 diff Utot= 0.000000000067 diff Force= 0.000000000009
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000
8 negf_example/NEGF-8ZGNR-0.3.da Elapsed time(s)= 521.62 diff Utot= 0.928337063940 diff Force= 0.027250584419
diff EigenChannel= 0.006449277060 diff CurrentDensity= 0.000003818327
9 negf_example/NEGF-8ZGNR-NC.dat Elapsed time(s)= 1032.49 diff Utot= 0.854644457744 diff Force= 0.008307886309
diff EigenChannel= 0.004743306300 diff CurrentDensity= 0.000000047881
10 negf_example/NEGF-Au-Chain-NC. Elapsed time(s)= 189.33 diff Utot= 0.001520838369 diff Force= 0.000000859499
diff EigenChannel= 0.000672853100 diff CurrentDensity= 0.000000000000
11 negf_example/NEGF-Chain.dat Elapsed time(s)= 82.99 diff Utot= 0.005593450796 diff Force= 0.003963259603
diff EigenChannel= 0.000137226000 diff CurrentDensity= 0.000000022590
12 negf_example/NEGF-Graphene.dat Elapsed time(s)= 17.26 diff Utot= 0.000810157273 diff Force= 0.000009356900
diff EigenChannel= 0.000000000000 diff CurrentDensity= 0.000000000000

The relatively large differences for Lead-L-8ZGNR-NC and Lead-R-8ZGNR-N are attributed to the correction of the bug mentioned at
http://www.openmx-square.org/forum/patio.cgi?mode=view&no=2747
The number of states to be calculated by Ver. 3.9.6 is different from that by Ver. 3.9.2, which leads to the differences.

The large differences for NEGF-8ZGNR-0.3, NEGF-8ZGNR-NC, NEGF-Au-Chain-NC, NEGF-Chain, and NEGF-Graphene are attributed to
a modification of constructing Hamiltonian matrix elements around the boundary between leads and scattering region in the
patch 3.9.6. The modification has been made to accelerate the SCF convergence in the NEGF calculations.

So, what you got is a concequence by applying the patch 3.9.6 and regarded as normal calculations.

Regards,

TO
メンテ
Re: The result of runtest ( No.4 )
Date: 2021/08/23 09:12
Name: K. Yamaguchi

Hello,

I understood.
Thank you very much.

Best regards,
K. Yamaguchi
メンテ

Page: [1]

Thread Title (must) Move the thread to the top
Your Name (must)
E-Mail (must)
URL
Password (used in modification of the submitted text)
Comment (must)

   Save Cookie