Should I use the exactly same Intel MKL link line and compiler options to compile vasp and its 3rd interfaced libraries?

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.

Moderators: Global Moderator, Moderator

Post Reply
Message
Author
hszhao.cn@gmail.com
Jr. Member
Jr. Member
Posts: 99
Joined: Tue Oct 13, 2020 11:32 pm

Should I use the exactly same Intel MKL link line and compiler options to compile vasp and its 3rd interfaced libraries?

#1 Post by hszhao.cn@gmail.com » Mon Feb 21, 2022 12:42 pm

It is well known that VASP has several optional features that interface with several third libraries, some of which also support/require Intel MKL for more efficient computing and data processing, for example, wannier90.

So, I want to know, in these situations, should I use the exactly same Intel MKL link line and compiler options to compile vasp and its 3rd interfaced libraries?

Regards,
HZ

ferenc_karsai
Global Moderator
Global Moderator
Posts: 422
Joined: Mon Nov 04, 2019 12:44 pm

Re: Should I use the exactly same Intel MKL link line and compiler options to compile vasp and its 3rd interfaced librar

#2 Post by ferenc_karsai » Tue Mar 01, 2022 6:10 am

Yes it's definitely wise to do that.

hszhao.cn@gmail.com
Jr. Member
Jr. Member
Posts: 99
Joined: Tue Oct 13, 2020 11:32 pm

Re: Should I use the exactly same Intel MKL link line and compiler options to compile vasp and its 3rd interfaced librar

#3 Post by hszhao.cn@gmail.com » Thu Mar 03, 2022 7:24 am

Thank you for your comment. But I think this should be regarded as a good practice if vasp compilation uses a dynamic link 3rd library. As for the static 3rd library interfaced with vasp, say, libwannier.a, I've given the following explanation here:
If I understand correctly, the static library libwannier.a will be linked as is into vasp, and the MKL settings of vasp will only affect the stuff in vasp itself. This will also be the behavior of the MKL subroutine, which will be used for subsequent calls of these third-party libraries from within vasp. To summarize: In terms of the MKL feature invoked, merging a static library into another program with different MKL link settings does not interfere with each other.
Regards,
HZ

Post Reply