deepmodeling / abacus-develop

An electronic structure package based on either plane wave basis or numerical atomic orbitals.
http://abacus.ustc.edu.cn
GNU Lesser General Public License v3.0
174 stars 136 forks source link

I tried to compile ABACUS from source, and I used the latest OneAPI toolchain, but it always strangely compiles well then has numerical problems running. ( file `abacus` also appears to be working properly, but none of the results are reproducible tests in `tests/integrate`.) #2727

Closed saltball closed 1 year ago

saltball commented 1 year ago

I tried to compile ABACUS from source, and I used the latest OneAPI toolchain, but it always strangely compiles well then has numerical problems running. ( file abacus also appears to be working properly, but none of the results are reproducible tests in tests/integrate.)

I would like to know if the community has a complete test of the compilation toolchain?

BTW, I wonder if this is related to https://github.com/deepmodeling/abacus-develop/discussions/2299

Originally posted by @saltball in https://github.com/deepmodeling/abacus-develop/discussions/2550

caic99 commented 1 year ago

Hi @saltball ,

it always strangely compiles well then has numerical problems running

Could you please provide more details on it? Like, how many processes you use and how the results deviate. Thanks.

caic99 commented 1 year ago

I would like to know if the community has a complete test of the compilation toolchain?

For the Intel OneAPI toolchain, due to limited resources, we ensure the correctness of compiling without further running full test suite in CI process linked with each PR. We internally host a nightly test on both GNU toolchain and Intel toolchain (report here). @pxlxingliang Does the nightly test verifies if the results are correct?

pxlxingliang commented 1 year ago

Hi, Chun Cai,The daily test will check if the running is normal ending, but it will not check the numerical results like energy or force.

saltball commented 1 year ago

Thanks for the reply, I'll try to give details using some of the full environments as much as I can, but I may need a few days.

saltball commented 1 year ago

Thanks for waiting, just to make sure I'm not raising an issue that's already been resolved, I compile with a fresh container and latest code(93090d). I tested oneAPI 2023 and 2022, and found that I didn't have any more problems not matching up on the machine where I had problems with my previous tests. However, by running . /Autotest.sh, I still get the following tests with error: (Sometimes there are more errors, but those appear to be numerical deviations)

101_PW_15_lowz
107_PW_W90
180_PW_SDFT_10S_M
180_PW_SDFT_10S_P
181_PW_SDFT_5D10S
183_PW_MD_SDFT_10S
183_PW_MD_SDFT_5D10S
184_PW_BNDPAR_SDFT_10S
184_PW_BNDPAR_SDFT_5D10S
186_PW_SKG_10D10S
186_PW_SKG_ALL
212_NO_wfc_ienvelope
215_NO_sol_H2283_NO_restart
301_NO_GO_15_CF_CS
307_NO_GO_OH
312_NO_GO_wfc_file
312_NO_GO_wfc_ienvelope

The previous problem of this issue I met doesn't exist anymore, I think this issue cloud be closed.

BTW: oneAPI 2023 prints icpc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message., but I guess that is not a problem.