Skip to content
Snippets Groups Projects
Commit 0a4f204c authored by Boman Romain's avatar Boman Romain
Browse files

fix runtime problem with MKL when mklvars are loaded

parent d9519fd9
No related branches found
No related tags found
No related merge requests found
...@@ -59,17 +59,13 @@ IF(FEM_USE_MKL) ...@@ -59,17 +59,13 @@ IF(FEM_USE_MKL)
MESSAGE(STATUS "MKL_INCLUDE_DIRS=${MKL_INCLUDE_DIRS}") MESSAGE(STATUS "MKL_INCLUDE_DIRS=${MKL_INCLUDE_DIRS}")
# library (mkl_rt.so) searched using LIBRARY_PATH (Linux/macOS) or LIB (windows) # library (mkl_rt.so) searched using LIBRARY_PATH (Linux/macOS) or LIB (windows)
FIND_LIBRARY(MKL_LIBRARIES mkl_rt PATHS ENV LIBRARY_PATH) FIND_LIBRARY(MKL_LIBRARIES mkl_rt PATHS ENV LIBRARY_PATH)
IF(MINGW) # IF(MINGW)
FIND_LIBRARY(MKL_LIB1 mkl_intel_lp64_dll PATHS ENV LIBRARY_PATH) # FIND_LIBRARY(MKL_LIB1 mkl_intel_lp64_dll PATHS ENV LIBRARY_PATH)
FIND_LIBRARY(MKL_LIB2 mkl_intel_thread_dll PATHS ENV LIBRARY_PATH) # FIND_LIBRARY(MKL_LIB2 mkl_intel_thread_dll PATHS ENV LIBRARY_PATH)
FIND_LIBRARY(MKL_LIB3 mkl_core_dll PATHS ENV LIBRARY_PATH) # FIND_LIBRARY(MKL_LIB3 mkl_core_dll PATHS ENV LIBRARY_PATH)
FIND_LIBRARY(MKL_LIB4 libiomp5md PATHS ENV LIBRARY_PATH) # FIND_LIBRARY(MKL_LIB4 libiomp5md PATHS ENV LIBRARY_PATH)
# MESSAGE(STATUS "MKL_LIB1=${MKL_LIB1}") # SET(MKL_LIBRARIES ${MKL_LIB1} ${MKL_LIB2} ${MKL_LIB3} ${MKL_LIB4})
# MESSAGE(STATUS "MKL_LIB2=${MKL_LIB2}") # ENDIF()
# MESSAGE(STATUS "MKL_LIB3=${MKL_LIB3}")
# MESSAGE(STATUS "MKL_LIB4=${MKL_LIB4}")
SET(MKL_LIBRARIES ${MKL_LIB1} ${MKL_LIB2} ${MKL_LIB3} ${MKL_LIB4})
ENDIF()
MESSAGE(STATUS "MKL_LIBRARIES=${MKL_LIBRARIES}") MESSAGE(STATUS "MKL_LIBRARIES=${MKL_LIBRARIES}")
ENDIF() ENDIF()
......
...@@ -57,15 +57,13 @@ IF NOT DEFINED COMPILERPATH ( ...@@ -57,15 +57,13 @@ IF NOT DEFINED COMPILERPATH (
EXIT /B EXIT /B
) )
:: Intel MKL/TBB :: Intel MKL
set INTELPATH="C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows" set "INTELPATH=C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.5.281\windows"
IF NOT EXIST %INTELPATH% ( set LIB=%INTELPATH%\mkl\lib\intel64_win;%INTELPATH%\compiler\lib\intel64_win;%LIB%
ECHO - INTEL libraries NOT found in %INTELPATH%!! set INCLUDE=%INTELPATH%\mkl\include;%INCLUDE%
) ELSE ( :: does not always work
ECHO - INTEL libraries found. @REM call %INTELPATH%\mkl\bin\mklvars.bat intel64 vs2019
call %INTELPATH%\mkl\bin\mklvars.bat intel64 vs2019
call %INTELPATH%\tbb\bin\tbbvars.bat intel64 vs2019
)
:: where is gmsh.exe and gmsh-**.dll ? :: where is gmsh.exe and gmsh-**.dll ?
set PATH=%GMSHSDK%\bin;%GMSHSDK%\lib;%PATH% set PATH=%GMSHSDK%\bin;%GMSHSDK%\lib;%PATH%
......
...@@ -41,15 +41,12 @@ IF NOT EXIST %COMPILERPATH% ( ...@@ -41,15 +41,12 @@ IF NOT EXIST %COMPILERPATH% (
ECHO - compiler found. ECHO - compiler found.
) )
:: Intel MKL/TBB :: Intel MKL
set INTELPATH="C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows" set "INTELPATH=C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.5.281\windows"
IF NOT EXIST %INTELPATH% ( set LIB=%INTELPATH%\mkl\lib\intel64_win;%INTELPATH%\compiler\lib\intel64_win;%LIB%
ECHO - INTEL libraries NOT found in %INTELPATH%!! set INCLUDE=%INTELPATH%\mkl\include;%INCLUDE%
) ELSE ( :: does not always work
ECHO - INTEL libraries found. @REM call %INTELPATH%\mkl\bin\mklvars.bat intel64 vs2019
call %INTELPATH%\mkl\bin\mklvars.bat intel64 vs2019
@REM call %INTELPATH%\tbb\bin\tbbvars.bat intel64 vs2019
)
:: where is gmsh.exe and gmsh-**.dll ? :: where is gmsh.exe and gmsh-**.dll ?
set PATH=%GMSHSDK%\bin;%GMSHSDK%\lib;%PATH% set PATH=%GMSHSDK%\bin;%GMSHSDK%\lib;%PATH%
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
import os, platform import os, platform
if 'Windows' in platform.uname(): # if 'Windows' in platform.uname():
# remove tbb from the PATH # # remove tbb from the PATH
# otherwise: "Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll" # # otherwise: "Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll"
paths = os.environ['PATH'].split(';') # paths = os.environ['PATH'].split(';')
corr_path = [ p for p in paths if not 'tbb' in p] # corr_path = [ p for p in paths if not 'tbb' in p]
os.environ['PATH'] = ';'.join(corr_path) # os.environ['PATH'] = ';'.join(corr_path)
for p in corr_path: # for p in corr_path:
print(p) # print(p)
if __name__ == "__main__": if __name__ == "__main__":
import sys import sys
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment