A problem with intel MKL lib

I just indtalled PGI 19.4 community edition, together with the VS 2017 community edition and the Intel MKL libs in Windows 10 1903 edition. I encounterd two problems.
(1) I am trying to compile my program with intel MKL vml functions such as vderf. The compile command is pgfortran -o test.exe myprog1.f90 mkl_intel_lp64.lib mkl_pgi_thread.lib mkl_core.lib -mp. Then a problem comes out that “vderf” can’t be found. I am sure the lib directory is contained. While using ifort (ifort -o test.exe myprog1.f90 mkl_intel_lp64.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib), there is no problem. Does pgi not surport MKL vml libs? I tried dfti in intel MKL using pgfortran, it works well, but not for vml function.
(2) I am trying to make a dll for another program. The exact example in “PGI Compiler User’s Guide” was used: pgfortran -Bdynamic -c object1.f, pgfortran -Mmakedll object1.obj -o obj1.dll, pgfortran -Bdynamic -o prog1 prog1.f -defaultlib:obj1. The firs two steps works well, but in the last step no file is created and no error or warnning is provided.

Can you point out my problem? Thanks a lot! They troubled me several days.

Hi LiZhanhui60635,

MKL is an Intel product so not something we support. Though, we do our best to help our users when ever possible but in this case, I don’t have experience with the VML routines so don’t know what’s wrong. If you can provide a reproducing example as well as the specific details of the issue, I might be able to investigate. Also, you may want to ask Intel if they support VML use with PGI.

For #2, this is a known issue with the “DLL IMPORT” of common blocks. I reported it to our engineers a few weeks ago (TPR#27519) and they are working on a fix for an up coming release. Unfortunately, I don’t have a work around for you.


FYI, we’ve fixed this problem with 20.1