Enable compatibility of GNU compilers + MKL#7139
Enable compatibility of GNU compilers + MKL#7139mohanchen merged 3 commits intodeepmodeling:developfrom
Conversation
|
@Growl1234 Thanks for your contribution! Have you done any tests in certain HPC environments for gcc-mkl toolchain implemeneted in this PR and original gcc toolchain or intel toolchain ? |
|
@Growl1234 In my simple test in My test is done in OneAPI 2023.2 with AMD 7b12 machine. |
|
Thank you! This issue is about the linking of MPI interface in MKL in the cmake file, which is only available with MPICH or IntelMPI: I'll check on it and apply the fix. |
944383b to
1cfdce5
Compare
|
It seems to work now on my machine. Do you mind to do a bit further testings? |
|
@Growl1234 Thanks for you contribution! I've test your PR in my AMD 7b12 machine with 16core MPI running for Fe5C2(510) surface systems with 120 atoms. Test shows that gcc-mkl toolchain compiled ABACUS 3.9.0.24 have much faster (35s < 42s) SCF process than 3.10.1 compiled by gcc toolchain.
Good contribution! May you link the former issue #3198 and summarize how you fixed this problem ? Thanks ! |
|
Also, could you help me check that the patch in |
|
@Growl1234 You can also remove the |
|
One problem is, if user load intelmpi in their environments, the |
Surprise of that!
It seems to be related to Cereal itself. I would suggest using a hash corresponding to a specific commit rather than directory pulling the
My behavior just rebased my fork with new commits in upstream/develop branch. Regarding toolchain scripts, users can simply add However, the toolchain has required the use of Intel MPI to be with the Intel compiler. In fact, Intel MPI and MPICH share the same BLAS library ( |
@QuantumMisaka I'll deal with this issue in a new PR #7193. |
|
Thanks for your contribution! @Growl1234 |

Previously
FindMKL.cmakeonly detect the interface with Intel compilers, which would cause linking error in case GCC and Intel MKL are used together. This PR updatesFindMKL.cmaketo detect the specific MKL libraries designed for GCC and OpenMPI, which are essential for linking MKL correctly when building ABACUS with GCC. With this PR the combination of GCC and Intel MKL should be available.Further fixes #3198.