Skip to content

Commit

Permalink
Fixed MKL support in CMake build system for Intel MIC
Browse files Browse the repository at this point in the history
  • Loading branch information
fuchsto committed Apr 24, 2016
1 parent ad80ede commit 49fec81
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 9 deletions.
5 changes: 5 additions & 0 deletions CMakeExt/MKL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ if (MKL_FOUND)
message(STATUS "MKL_LIBRARY_DIRS: " ${MKL_LIBRARY_DIRS})
message(STATUS "MKL_LIBRARIES: " ${MKL_LIBRARIES})
message(STATUS "MKL_SCALAPACK_LIBRARIES: " ${MKL_SCALAPACK_LIBRARIES})
message(STATUS "MKL_LINK_FLAGS:")
foreach (MKL_LINK_FLAG ${MKL_LINK_FLAGS})
message(STATUS " " ${MKL_LINK_FLAG})
endforeach()
endif()
else()
if (MKL_FIND_REQUIRED)
Expand All @@ -27,4 +31,5 @@ mark_as_advanced(
MKL_INCLUDE_DIR
MKL_INCLUDE_DIRS
MKL_LIBRARY_DIRS
MKL_LINK_FLAGS
)
4 changes: 3 additions & 1 deletion build.mic.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,16 @@ rm -Rf ./build/*
-DENABLE_TRACE_LOGGING=OFF \
-DENABLE_DART_LOGGING=OFF \
-DENABLE_SCALAPACK=OFF \
-DENABLE_MKL=OFF \
-DENABLE_MKL=ON \
-DENABLE_LIBNUMA=OFF \
-DENABLE_PAPI=OFF \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTS=OFF \
-DBUILD_DOCS=OFF \
-DPAPI_PREFIX=${PAPI_HOME} \
-DIPM_PREFIX=${IPM_BASE} \
-DGTEST_LIBRARY_PATH=${HOME}/opt/gtest \
-DGTEST_INCLUDE_PATH=${HOME}/opt/gtest/include \
../ && \
await_confirm && \
make) && \
Expand Down
19 changes: 11 additions & 8 deletions config/supermic.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,19 @@ set(CXX_ENV_SETUP_FLAGS "${CXX_ENV_SETUP_FLAGS} -mmic")
set(CXX_ENV_SETUP_FLAGS "${CXX_ENV_SETUP_FLAGS} -qopt-streaming-stores always")
set(CXX_ENV_SETUP_FLAGS "${CXX_ENV_SETUP_FLAGS} -qopt-prefetch-distance=64,8")

set(MKLROOT $ENV{MKLROOT})

set(MKL_LIBRARIES "${MKL_LIBRARIES} ${MKLROOT}/lib/mic/libmkl_scalapack_lp64.a")
set(MKL_LIBRARIES "${MKL_LIBRARIES} -Wl,--start-group")
set(MKL_LIBRARIES "${MKL_LIBRARIES} ${MKLROOT}/lib/mic/libmkl_intel_lp64.a")
set(MKL_LIBRARIES "${MKL_LIBRARIES} ${MKLROOT}/lib/mic/libmkl_core.a")
set(MKL_LIBRARIES "${MKL_LIBRARIES} ${MKLROOT}/lib/mic/libmkl_sequential.a")
set(MKL_LIBRARIES "${MKL_LIBRARIES} ${MKLROOT}/lib/mic/libmkl_blacs_intelmpi_lp64.a")
set(MKL_LIBRARIES "${MKL_LIBRARIES} -Wl,--end-group -lpthread -lm -ldl")
set(MKLROOT $ENV{MKLROOT})
set(MKL_LINK_FLAGS
${MKLROOT}/lib/mic/libmkl_scalapack_lp64.a
-Wl,--start-group
${MKLROOT}/lib/mic/libmkl_intel_lp64.a
${MKLROOT}/lib/mic/libmkl_core.a
${MKLROOT}/lib/mic/libmkl_sequential.a
${MKLROOT}/lib/mic/libmkl_blacs_intelmpi_lp64.a
-Wl,--end-group
-lpthread -lm -ldl)

set(MKL_INCLUDE_DIRS "${MKLROOT}/include")
set(MKL_LIBRARIES "")

set(MKL_FOUND TRUE)
6 changes: 6 additions & 0 deletions dash/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,10 @@ if (ENABLE_MKL AND MKL_FOUND)
${MKL_INCLUDE_DIRS})
set (ADDITIONAL_LIBRARIES ${ADDITIONAL_LIBRARIES}
${MKL_LIBRARIES})
if (MKL_LINK_FLAGS)
set (ADDITIONAL_LINK_FLAGS ${ADDITIONAL_LINK_FLAGS}
${MKL_LINK_FLAGS})
endif()
else()
if (ENABLE_BLAS AND BLAS_FOUND)
set (ADDITIONAL_COMPILE_FLAGS
Expand Down Expand Up @@ -195,6 +199,7 @@ foreach (dart_variant ${DART_IMPLEMENTATIONS_LIST})
target_link_libraries(
${DASH_LIBRARY} # library name
${DASH_LINK_DART_LIBRARY} # dependency: DART lib
${ADDITIONAL_LINK_FLAGS}
${ADDITIONAL_LIBRARIES}
)
if (${dart_variant} STREQUAL "mpi")
Expand Down Expand Up @@ -248,6 +253,7 @@ foreach (dart_variant ${DART_IMPLEMENTATIONS_LIST})
${exampletarget}
${DASH_LIBRARY}
${DART_LIBRARY}
${ADDITIONAL_LINK_FLAGS}
${ADDITIONAL_LIBRARIES}
)
if (${dart_variant} STREQUAL "mpi")
Expand Down

0 comments on commit 49fec81

Please sign in to comment.