From 8f20c0c9af2eee1f367faf44ced077b4147f55b8 Mon Sep 17 00:00:00 2001 From: aparikh Date: Tue, 9 Jan 2018 12:02:19 -0700 Subject: [PATCH 1/3] Update FindMKL.cmake and FindTBB.cmake - Find more recent versions of MKL - Work with Visual Studio 2015 (MSVC14) --- cmake/FindMKL.cmake | 18 ++++++++++++++---- cmake/FindTBB.cmake | 4 ++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake index 8fb3be25d..d64e779af 100644 --- a/cmake/FindMKL.cmake +++ b/cmake/FindMKL.cmake @@ -83,10 +83,20 @@ FIND_PATH(MKL_FFTW_INCLUDE_DIR NO_DEFAULT_PATH ) -IF(WIN32) +IF(WIN32 AND MKL_ROOT_DIR) SET(MKL_LIB_SEARCHPATH $ENV{ICC_LIB_DIR} $ENV{MKL_LIB_DIR} "${MKL_ROOT_DIR}/lib/${MKL_ARCH_DIR}" "${MKL_ROOT_DIR}/../compiler" "${MKL_ROOT_DIR}/../compiler/lib/${MKL_ARCH_DIR}") - - IF (MKL_INCLUDE_DIR MATCHES "10.") + IF(MKL_INCLUDE_DIR MATCHES "2017" OR MKL_INCLUDE_DIR MATCHES "2018") + IF(CMAKE_CL_64) + SET(MKL_LIBS mkl_core mkl_intel_lp64 mkl_lapack95_lp64 mkl_blas95_lp64) + ELSE() + SET(MKL_LIBS mkl_core mkl_intel_s mkl_lapack95 mkl_blas95) + ENDIF() + IF(TBB_FOUND) + SET(MKL_LIBS ${MKL_LIBS} mkl_tbb_thread) + ELSE() + SET(MKL_LIBS ${MKL_LIBS} mkl_intel_thread libiomp5md) + ENDIF() + ELSEIF(MKL_INCLUDE_DIR MATCHES "10.") IF(CMAKE_CL_64) SET(MKL_LIBS mkl_solver_lp64 mkl_core mkl_intel_lp64 mkl_intel_thread libguide mkl_lapack95_lp64 mkl_blas95_lp64) ELSE() @@ -115,7 +125,7 @@ IF(WIN32) ENDIF() ENDFOREACH() SET(MKL_FOUND ON) -ELSE() # UNIX and macOS +ELSEIF(MKL_ROOT_DIR) # UNIX and macOS FIND_LIBRARY(MKL_CORE_LIBRARY mkl_core PATHS diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake index 45b33e3aa..f39d64601 100644 --- a/cmake/FindTBB.cmake +++ b/cmake/FindTBB.cmake @@ -82,6 +82,10 @@ if (WIN32) set(_TBB_COMPILER "vc11") set(TBB_COMPILER "vc11") endif(MSVC11) + if(MSVC14) + set(_TBB_COMPILER "vc14") + set(TBB_COMPILER "vc14") + endif(MSVC14) # Todo: add other Windows compilers such as ICL. if(TBB_ARCHITECTURE) set(_TBB_ARCHITECTURE ${TBB_ARCHITECTURE}) From 0a5fd70f21b02be283efab4e37a6440ab96c44b5 Mon Sep 17 00:00:00 2001 From: anuppari Date: Fri, 12 Jan 2018 16:08:02 -0700 Subject: [PATCH 2/3] Minor fix to select mkl libs based on tbb use --- cmake/FindMKL.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake index d64e779af..cbe46a908 100644 --- a/cmake/FindMKL.cmake +++ b/cmake/FindMKL.cmake @@ -91,7 +91,7 @@ IF(WIN32 AND MKL_ROOT_DIR) ELSE() SET(MKL_LIBS mkl_core mkl_intel_s mkl_lapack95 mkl_blas95) ENDIF() - IF(TBB_FOUND) + IF(TBB_FOUND AND GTSAM_WITH_TBB) SET(MKL_LIBS ${MKL_LIBS} mkl_tbb_thread) ELSE() SET(MKL_LIBS ${MKL_LIBS} mkl_intel_thread libiomp5md) From 530f6e99fd1048b72591742b8c5cf9c6d85671ba Mon Sep 17 00:00:00 2001 From: Dominic Pattison Date: Sun, 1 Apr 2018 15:32:27 +0000 Subject: [PATCH 3/3] Fix quaternion component error in Rot3 constructor --- gtsam/geometry/Rot3.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtsam/geometry/Rot3.h b/gtsam/geometry/Rot3.h index bb0278953..58c150670 100644 --- a/gtsam/geometry/Rot3.h +++ b/gtsam/geometry/Rot3.h @@ -118,7 +118,7 @@ namespace gtsam { * @param q The quaternion */ Rot3(const Quaternion& q); - Rot3(double x, double y, double z, double w) : Rot3(Quaternion(x, y, z, w)) {} + Rot3(double w, double x, double y, double z) : Rot3(Quaternion(w, x, y, z)) {} /// Random, generates a random axis, then random angle \in [-p,pi] static Rot3 Random(boost::mt19937 & rng);