Here is my environment : Visual Studio Community 2017 + Parallel Studio XE 2019 update 1
I`ve tried Link line advisor but it failed with 'No symbolic file loaded for mkl_avx2.dll'
And the current libs linked in are:
Besides, I`ve tried add libomp5md.lib but it didn`t work for the problem.
if you link with ILP API on win OS, then don't forget to add /DMKL_ILP64 option or link LP64 API only, In the case if you are not going to use distributed computations, you don't need to link with mpi libs at all.
I`ve tried what you suggested, bur things did not become better than before.
And I will explain my problems in detail.
At first, if I link mkl_blas95_lp64.lib mkl_core.lib mkl_intel_lp64.lib mkl_intel_thread.lib with /Qmkl:parallel ，when calling some Sparse Blas functions like mkl_sparse_spmm and mkl_sparse_z_add, it tends to lead to some wrong number in the result sparse matrix when trying to call pardiso, and the check routine gives the feedback of something wrong in ja[ ] like ja(i) = 1591 and ja(i+1) is 1423 which should be 1592 .
And if I turn off the 'Use Intel Math Kernel Library', the program will meet some Access Conflict with error code 0xC0000005, which is very 'interesting'
And if I link a third-party`s library named 'Mumps' whose configuration need mkl_scalapack_lp64.lib and mkl_blacs_intelmpi_lp64.lib, The program works even though I don`t run the codes connect with mumps, but it fails with for_dealloc_allocatable function error when I go to the assembly language, in fact, it is the next step after call for_dealloc_allocatable which is 'move'.
I can not paste my source code here for some reason but I do need your help and advises, so can we talk using e-mail or some ways faster than here? I do not know if it is appropriate to do this but I`ve been suffered from this problem for such a long time and I`ve tried all what I can do.
And here is my command line of Fortran
/nologo /debug:full /MP /Od /fpp /I"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.1.144\windows\mkl\include" /Qopenmp /warn:all /module:"x64\Debug\\" /object:"x64\Debug\\" /Fd"x64\Debug\vc150.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /Qmkl:parallel /c
and the command line of Linker
/OUT:"x64\Debug\GEM.exe" /INCREMENTAL /NOLOGO /LIBPATH:".\WindowsLibrary\VS2010" /NODEFAULTLIB:"libcmt.lib" /MANIFEST /MANIFESTFILE:"x64\Debug\GEM.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"F:\Master\marine\MarineEM\GEM\x64\Debug\GEM.pdb" /SUBSYSTEM:CONSOLE /STACK:10000000,10000000 /IMPLIB:"F:\Master\marine\MarineEM\GEM\x64\Debug\GEM.lib" tetcall.lib mkl_blas95_lp64.lib mkl_core.lib mkl_intel_lp64.lib mkl_intel_thread.lib
Besides, tetcall.lib is a library to use Tetgen of which is a Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator, and only used to get the information of inputted mesh