Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CMake
CMake
Commits
46c7bcaf
Commit
46c7bcaf
authored
Oct 08, 2013
by
Leszek Swirski
Browse files
FindBLAS: Fixes for Windows MKL support
parent
cfb2c66f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Modules/FindBLAS.cmake
View file @
46c7bcaf
...
...
@@ -469,8 +469,45 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
set
(
BLAS_mkl_SEARCH_SYMBOL SGEMM
)
set
(
_LIBRARIES BLAS95_LIBRARIES
)
if
(
WIN32
)
list
(
APPEND BLAS_SEARCH_LIBS
"mkl_blas95 mkl_intel_c mkl_intel_thread mkl_core libguide40"
)
if
(
BLA_STATIC
)
set
(
BLAS_mkl_DLL_SUFFIX
""
)
else
()
set
(
BLAS_mkl_DLL_SUFFIX
"_dll"
)
endif
()
# Find the main file (32-bit or 64-bit)
set
(
BLAS_SEARCH_LIBS_WIN_MAIN
""
)
if
(
BLA_VENDOR STREQUAL
"Intel10_32"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS_WIN_MAIN
"mkl_blas95
${
BLAS_mkl_DLL_SUFFIX
}
mkl_intel_c
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
if
(
BLA_VENDOR STREQUAL
"Intel10_64lp*"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS_WIN_MAIN
"mkl_blas95_lp64
${
BLAS_mkl_DLL_SUFFIX
}
mkl_intel_lp64
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
# Add threading/sequential libs
set
(
BLAS_SEARCH_LIBS_WIN_THREAD
""
)
if
(
BLA_VENDOR STREQUAL
"*_seq"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS_WIN_THREAD
"mkl_sequential
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
if
(
NOT BLA_VENDOR STREQUAL
"*_seq"
OR BLA_VENDOR STREQUAL
"All"
)
# old version
list
(
APPEND BLAS_SEARCH_LIBS_WIN_THREAD
"libguide40 mkl_intel_thread
${
BLAS_mkl_DLL_SUFFIX
}
"
)
# mkl >= 10.3
list
(
APPEND BLAS_SEARCH_LIBS_WIN_THREAD
"libiomp5md mkl_intel_thread
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
# Cartesian product of the above
foreach
(
MAIN
${
BLAS_SEARCH_LIBS_WIN_MAIN
}
)
foreach
(
THREAD
${
BLAS_SEARCH_LIBS_WIN_THREAD
}
)
list
(
APPEND BLAS_SEARCH_LIBS
"
${
MAIN
}
${
THREAD
}
mkl_core
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endforeach
()
endforeach
()
else
()
if
(
BLA_VENDOR STREQUAL
"Intel10_32"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS
...
...
@@ -490,17 +527,54 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"mkl_blas95_lp64 mkl_intel_lp64 mkl_intel_thread mkl_core iomp5"
)
endif
()
endif
()
end
if
()
if
(
BLA_VENDOR STREQUAL
"Intel10_64lp_seq"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS
"mkl_blas95_lp64 mkl_intel_lp64 mkl_sequential mkl_core"
)
if
(
BLA_VENDOR STREQUAL
"Intel10_64lp_seq"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS
"mkl_intel_lp64 mkl_sequential mkl_core"
)
endif
(
)
endif
()
else
()
set
(
BLAS_mkl_SEARCH_SYMBOL sgemm
)
set
(
_LIBRARIES BLAS_LIBRARIES
)
if
(
WIN32
)
list
(
APPEND BLAS_SEARCH_LIBS
"mkl_c_dll mkl_intel_thread_dll mkl_core_dll libguide40"
)
if
(
BLA_STATIC
)
set
(
BLAS_mkl_DLL_SUFFIX
""
)
else
()
set
(
BLAS_mkl_DLL_SUFFIX
"_dll"
)
endif
()
# Find the main file (32-bit or 64-bit)
set
(
BLAS_SEARCH_LIBS_WIN_MAIN
""
)
if
(
BLA_VENDOR STREQUAL
"Intel10_32"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS_WIN_MAIN
"mkl_intel_c
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
if
(
BLA_VENDOR STREQUAL
"Intel10_64lp*"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS_WIN_MAIN
"mkl_intel_lp64
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
# Add threading/sequential libs
set
(
BLAS_SEARCH_LIBS_WIN_THREAD
""
)
if
(
NOT BLA_VENDOR STREQUAL
"*_seq"
OR BLA_VENDOR STREQUAL
"All"
)
# old version
list
(
APPEND BLAS_SEARCH_LIBS_WIN_THREAD
"libguide40 mkl_intel_thread
${
BLAS_mkl_DLL_SUFFIX
}
"
)
# mkl >= 10.3
list
(
APPEND BLAS_SEARCH_LIBS_WIN_THREAD
"libiomp5md mkl_intel_thread
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
if
(
BLA_VENDOR STREQUAL
"*_seq"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS_WIN_THREAD
"mkl_sequential
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endif
()
# Cartesian product of the above
foreach
(
MAIN
${
BLAS_SEARCH_LIBS_WIN_MAIN
}
)
foreach
(
THREAD
${
BLAS_SEARCH_LIBS_WIN_THREAD
}
)
list
(
APPEND BLAS_SEARCH_LIBS
"
${
MAIN
}
${
THREAD
}
mkl_core
${
BLAS_mkl_DLL_SUFFIX
}
"
)
endforeach
()
endforeach
()
else
()
if
(
BLA_VENDOR STREQUAL
"Intel10_32"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS
...
...
@@ -521,6 +595,10 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"mkl_intel_lp64 mkl_intel_thread mkl_core iomp5"
)
endif
()
endif
()
if
(
BLA_VENDOR STREQUAL
"Intel10_64lp_seq"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS
"mkl_intel_lp64 mkl_sequential mkl_core"
)
endif
()
#older vesions of intel mkl libs
if
(
BLA_VENDOR STREQUAL
"Intel"
OR BLA_VENDOR STREQUAL
"All"
)
...
...
@@ -532,10 +610,6 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"mkl_em64t"
)
endif
()
endif
()
if
(
BLA_VENDOR STREQUAL
"Intel10_64lp_seq"
OR BLA_VENDOR STREQUAL
"All"
)
list
(
APPEND BLAS_SEARCH_LIBS
"mkl_intel_lp64 mkl_sequential mkl_core"
)
endif
()
endif
()
foreach
(
IT
${
BLAS_SEARCH_LIBS
}
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment