[arrayfire] 06/09: Add patch fixing LAPACKE detection.
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Thu Mar 3 17:02:20 UTC 2016
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch debian/experimental
in repository arrayfire.
commit 71edd03bed7e8683af9432f8f3ae5d39b9af5dd7
Author: Ghislain Antony Vaillant <ghisvail at gmail.com>
Date: Wed Mar 2 10:47:16 2016 +0000
Add patch fixing LAPACKE detection.
---
debian/patches/Fix-LAPACKE-detection.patch | 275 +++++++++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 276 insertions(+)
diff --git a/debian/patches/Fix-LAPACKE-detection.patch b/debian/patches/Fix-LAPACKE-detection.patch
new file mode 100644
index 0000000..8680d24
--- /dev/null
+++ b/debian/patches/Fix-LAPACKE-detection.patch
@@ -0,0 +1,275 @@
+From: Ghislain Antony Vaillant <ghisvail at gmail.com>
+Date: Wed, 2 Mar 2016 10:46:50 +0000
+Subject: Fix LAPACKE detection.
+
+---
+ CMakeModules/FindLAPACKE.cmake | 54 +++++++++++++++------------------------
+ src/backend/cpu/CMakeLists.txt | 18 ++++++-------
+ src/backend/cuda/CMakeLists.txt | 11 ++++----
+ src/backend/opencl/CMakeLists.txt | 19 +++++++-------
+ 4 files changed, 45 insertions(+), 57 deletions(-)
+
+diff --git a/CMakeModules/FindLAPACKE.cmake b/CMakeModules/FindLAPACKE.cmake
+index 0732cfa..4b7e407 100644
+--- a/CMakeModules/FindLAPACKE.cmake
++++ b/CMakeModules/FindLAPACKE.cmake
+@@ -4,13 +4,13 @@
+ # FIND_PACKAGE(LAPACKE [REQUIRED] [QUIET] )
+ #
+ # It sets the following variables:
+-# LAPACK_FOUND ... true if LAPACKE is found on the system
+-# LAPACK_LIBRARIES ... full path to LAPACKE library
+-# LAPACK_INCLUDES ... LAPACKE include directory
+-#
++# LAPACKE_FOUND ... true if LAPACKE is found on the system
++# LAPACKE_INCLUDE_DIRS ... LAPACKE include directories
++# LAPACKE_LIBRARIES ... path to LAPACKE libraries
++# LAPACKE_LIBRARY_DIRS ... LAPACKE library directories
+
+ SET(LAPACKE_ROOT_DIR CACHE STRING
+- "Root directory for custom LAPACK implementation")
++ "Root directory for custom LAPACKE implementation")
+
+ IF (NOT INTEL_MKL_ROOT_DIR)
+ SET(INTEL_MKL_ROOT_DIR $ENV{INTEL_MKL_ROOT})
+@@ -40,29 +40,20 @@ IF(PKG_CONFIG_FOUND AND NOT LAPACKE_ROOT_DIR)
+ ENDIF()
+
+ IF(PC_LAPACKE_FOUND)
++
++ # Verify sanity of LAPACKE pkg-config file.
+ FOREACH(PC_LIB ${PC_LAPACKE_LIBRARIES})
+ FIND_LIBRARY(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_LAPACKE_LIBRARY_DIRS} )
+ IF (NOT ${PC_LIB}_LIBRARY)
+ MESSAGE(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_LAPACKE_LIBRARY_DIRS}")
+ ENDIF (NOT ${PC_LIB}_LIBRARY)
+- LIST(APPEND LAPACKE_LIB ${${PC_LIB}_LIBRARY})
+ ENDFOREACH(PC_LIB)
+
+- FIND_PATH(
+- LAPACKE_INCLUDES
+- NAMES "lapacke.h"
+- PATHS
+- ${PC_LAPACKE_INCLUDE_DIRS}
+- ${INCLUDE_INSTALL_DIR}
+- /usr/include
+- /usr/local/include
+- /sw/include
+- /opt/local/include
+- DOC "LAPACKE Include Directory"
+- )
++ set(LAPACKE_LIBRARIES ${PC_LAPACKE_LIBRARIES})
++ set(LAPACKE_LIBRARY_DIRS ${PC_LAPACKE_LIBRARY_DIRS})
+
+- FIND_PACKAGE_HANDLE_STANDARD_ARGS(LAPACKE DEFAULT_MSG LAPACKE_LIB)
+- MARK_AS_ADVANCED(LAPACKE_INCLUDES LAPACKE_LIB)
++ FIND_PATH(LAPACKE_INCLUDE_DIRS NAMES "lapacke.h"
++ PATHS ${PC_LAPACKE_INCLUDE_DIRS})
+
+ ELSE(PC_LAPACKE_FOUND)
+
+@@ -97,7 +88,6 @@ ELSE(PC_LAPACKE_FOUND)
+ LAPACKE_LIB
+ NAMES "lapacke" "liblapacke" "openblas" "mkl_rt"
+ PATHS
+- ${PC_LAPACKE_LIBRARY_DIRS}
+ ${LIB_INSTALL_DIR}
+ /opt/intel/mkl/lib/ia32
+ /opt/intel/mkl/lib/intel64
+@@ -113,7 +103,6 @@ ELSE(PC_LAPACKE_FOUND)
+ LAPACK_LIB
+ NAMES "lapack" "liblapack" "openblas" "mkl_rt"
+ PATHS
+- ${PC_LAPACKE_LIBRARY_DIRS}
+ ${LIB_INSTALL_DIR}
+ /opt/intel/mkl/lib/ia32
+ /opt/intel/mkl/lib/intel64
+@@ -129,7 +118,6 @@ ELSE(PC_LAPACKE_FOUND)
+ LAPACKE_INCLUDES
+ NAMES "lapacke.h" "mkl_lapacke.h"
+ PATHS
+- ${PC_LAPACKE_INCLUDE_DIRS}
+ ${INCLUDE_INSTALL_DIR}
+ /opt/intel/mkl/include
+ /usr/include
+@@ -139,17 +127,15 @@ ELSE(PC_LAPACKE_FOUND)
+ DOC "LAPACKE Include Directory"
+ )
+ ENDIF(LAPACKE_ROOT_DIR)
++ SET(LAPACKE_INCLUDE_DIRS ${LAPACKE_INCLUDES})
++ SET(LAPACKE_LIBRARIES ${LAPACKE_LIB} ${LAPACK_LIB})
++ MARK_AS_ADVANCED(LAPACKE_INCLUDES LAPACKE_LIB LAPACK_LIB)
+ ENDIF(PC_LAPACKE_FOUND)
+
+-IF(LAPACKE_LIB AND LAPACK_LIB)
+- SET(LAPACK_LIBRARIES ${LAPACKE_LIB} ${LAPACK_LIB})
+-ENDIF()
+-IF(LAPACKE_INCLUDES)
+- SET(LAPACK_INCLUDE_DIR ${LAPACKE_INCLUDES})
+-ENDIF()
+-
+ INCLUDE(FindPackageHandleStandardArgs)
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LAPACK DEFAULT_MSG
+- LAPACK_INCLUDE_DIR LAPACK_LIBRARIES)
+-
+-MARK_AS_ADVANCED(LAPACK_INCLUDES LAPACK_LIBRARIES)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(LAPACKE DEFAULT_MSG
++ LAPACKE_LIBRARIES
++ LAPACKE_INCLUDE_DIRS)
++MARK_AS_ADVANCED(LAPACKE_LIBRARIES
++ LAPACKE_INCLUDE_DIRS
++ LAPACKE_LIBRARY_DIRS)
+diff --git a/src/backend/cpu/CMakeLists.txt b/src/backend/cpu/CMakeLists.txt
+index 9387323..3f409b5 100644
+--- a/src/backend/cpu/CMakeLists.txt
++++ b/src/backend/cpu/CMakeLists.txt
+@@ -40,7 +40,7 @@ MESSAGE(STATUS "FFTW Library: ${FFTW_LIBRARIES}")
+
+ IF(APPLE)
+ FIND_PACKAGE(LAPACKE QUIET) # For finding MKL
+- IF(NOT LAPACK_FOUND)
++ IF(NOT LAPACKE_FOUND)
+ # UNSET THE VARIABLES FROM LAPACKE
+ UNSET(LAPACKE_LIB CACHE)
+ UNSET(LAPACK_LIB CACHE)
+@@ -52,11 +52,10 @@ ELSE(APPLE) # Linux and Windows
+ FIND_PACKAGE(LAPACKE)
+ ENDIF(APPLE)
+
+-IF(NOT LAPACK_FOUND)
+- MESSAGE(WARNING "LAPACK not found. Functionality will be disabled")
+-ELSE(NOT LAPACK_FOUND)
++IF(NOT LAPACKE_FOUND)
++ MESSAGE(WARNING "LAPACKE not found. Functionality will be disabled")
++ELSE(NOT LAPACKE_FOUND)
+ ADD_DEFINITIONS(-DWITH_CPU_LINEAR_ALGEBRA)
+- MESSAGE(STATUS "LAPACK libraries found: ${LAPACK_LIBRARIES}")
+ ENDIF()
+
+ IF(NOT UNIX)
+@@ -84,8 +83,9 @@ INCLUDE_DIRECTORIES(
+ ${CBLAS_INCLUDE_DIR}
+ )
+
+-IF(LAPACK_FOUND)
+- INCLUDE_DIRECTORIES(${LAPACK_INCLUDE_DIR})
++IF(LAPACKE_FOUND)
++ INCLUDE_DIRECTORIES(${LAPACKE_INCLUDE_DIRS})
++ LINK_DIRECTORIES(${LAPACKE_LIBRARY_DIRS})
+ ENDIF()
+
+ FILE(GLOB cpu_headers
+@@ -185,8 +185,8 @@ IF(FORGE_FOUND AND NOT USE_SYSTEM_FORGE)
+ ADD_DEPENDENCIES(afcpu forge)
+ ENDIF()
+
+-IF(LAPACK_FOUND)
+- TARGET_LINK_LIBRARIES(afcpu PRIVATE ${LAPACK_LIBRARIES})
++IF(LAPACKE_FOUND)
++ TARGET_LINK_LIBRARIES(afcpu PRIVATE ${LAPACKE_LIBRARIES})
+ ENDIF()
+
+ IF(FORGE_FOUND)
+diff --git a/src/backend/cuda/CMakeLists.txt b/src/backend/cuda/CMakeLists.txt
+index ae0690d..5efdac8 100644
+--- a/src/backend/cuda/CMakeLists.txt
++++ b/src/backend/cuda/CMakeLists.txt
+@@ -103,7 +103,7 @@ ELSE(CUDA_cusolver_LIBRARY)
+ ## Try to use CPU side lapack
+ IF(APPLE)
+ FIND_PACKAGE(LAPACKE QUIET) # For finding MKL
+- IF(NOT LAPACK_FOUND)
++ IF(NOT LAPACKE_FOUND)
+ # UNSET THE VARIABLES FROM LAPACKE
+ UNSET(LAPACKE_LIB CACHE)
+ UNSET(LAPACK_LIB CACHE)
+@@ -115,9 +115,9 @@ ELSE(CUDA_cusolver_LIBRARY)
+ FIND_PACKAGE(LAPACKE)
+ ENDIF(APPLE)
+
+- IF(NOT LAPACK_FOUND)
++ IF(NOT LAPACKE_FOUND)
+ MESSAGE(STATUS "CUDA Version ${CUDA_VERSION_STRING} does not contain cusolver library. Linear Algebra will not be available.")
+- ELSE(NOT LAPACK_FOUND)
++ ELSE(NOT LAPACKE_FOUND)
+ MESSAGE(STATUS "CUDA Version ${CUDA_VERSION_STRING} does not contain cusolver library. But CPU LAPACK libraries are available. Will fallback to using host side code.")
+ ADD_DEFINITIONS(-DWITH_CPU_LINEAR_ALGEBRA)
+ IF(USE_CUDA_MKL) # Manual MKL Setup
+@@ -146,7 +146,8 @@ INCLUDE_DIRECTORIES(
+ )
+
+ IF(CUDA_LAPACK_CPU_FALLBACK)
+- INCLUDE_DIRECTORIES(${LAPACK_INCLUDE_DIR})
++ INCLUDE_DIRECTORIES(${LAPACKE_INCLUDE_DIRS})
++ LINK_DIRECTORIES(${LAPACKE_LIBRARY_DIRS})
+ ENDIF()
+
+ FILE(GLOB cuda_headers
+@@ -343,7 +344,7 @@ ENDIF()
+ IF(CUDA_cusolver_LIBRARY)
+ TARGET_LINK_LIBRARIES(afcuda PRIVATE ${CUDA_cusolver_LIBRARY})
+ ELSEIF(CUDA_LAPACK_CPU_FALLBACK)
+- TARGET_LINK_LIBRARIES(afcuda PRIVATE ${LAPACK_LIBRARIES})
++ TARGET_LINK_LIBRARIES(afcuda PRIVATE ${LAPACKE_LIBRARIES})
+ ENDIF()
+
+ SET_TARGET_PROPERTIES(afcuda PROPERTIES
+diff --git a/src/backend/opencl/CMakeLists.txt b/src/backend/opencl/CMakeLists.txt
+index bbe430d..c1484db 100644
+--- a/src/backend/opencl/CMakeLists.txt
++++ b/src/backend/opencl/CMakeLists.txt
+@@ -22,7 +22,7 @@ ENDIF()
+
+ IF(APPLE)
+ FIND_PACKAGE(LAPACKE QUIET) # For finding MKL
+- IF(NOT LAPACK_FOUND)
++ IF(NOT LAPACKE_FOUND)
+ # UNSET THE VARIABLES FROM LAPACKE
+ UNSET(LAPACKE_LIB CACHE)
+ UNSET(LAPACK_LIB CACHE)
+@@ -34,9 +34,9 @@ ELSE(APPLE) # Linux and Windows
+ FIND_PACKAGE(LAPACKE)
+ ENDIF(APPLE)
+
+-IF(NOT LAPACK_FOUND)
+- MESSAGE(WARNING "LAPACK not found. Functionality will be disabled")
+-ELSE(NOT LAPACK_FOUND)
++IF(NOT LAPACKE_FOUND)
++ MESSAGE(WARNING "LAPACKE not found. Functionality will be disabled")
++ELSE(NOT LAPACKE_FOUND)
+ ADD_DEFINITIONS(-DWITH_OPENCL_LINEAR_ALGEBRA)
+
+ IF(NOT USE_OPENCL_MKL)
+@@ -105,8 +105,9 @@ INCLUDE_DIRECTORIES(
+ ${BoostCompute_INCLUDE_DIRS}
+ ${CBLAS_INCLUDE_DIR}
+ )
+-IF(LAPACK_FOUND)
+- INCLUDE_DIRECTORIES(${LAPACK_INCLUDE_DIR})
++IF(LAPACKE_FOUND)
++ INCLUDE_DIRECTORIES(${LAPACKE_INCLUDE_DIRS})
++ LINK_DIRECTORIES(${LAPACKE_LIBRARY_DIRS})
+ ENDIF()
+
+ FILE(GLOB opencl_headers
+@@ -153,7 +154,7 @@ source_group(backend\\opencl\\kernel\\convolve\\Sources FILES ${conv_ker_sources
+ source_group(backend\\opencl\\cpu\\Headers FILES ${cpu_headers})
+ source_group(backend\\opencl\\cpu\\Sources FILES ${cpu_sources})
+
+-IF(LAPACK_FOUND)
++IF(LAPACKE_FOUND)
+ FILE(GLOB magma_sources
+ "magma/*.cpp")
+
+@@ -289,9 +290,9 @@ IF(FORGE_FOUND AND NOT USE_SYSTEM_FORGE)
+ ADD_DEPENDENCIES(afopencl forge)
+ ENDIF()
+
+-IF(LAPACK_FOUND)
++IF(LAPACKE_FOUND)
+ TARGET_LINK_LIBRARIES(afopencl
+- PRIVATE ${LAPACK_LIBRARIES}
++ PRIVATE ${LAPACKE_LIBRARIES}
+ PRIVATE ${CBLAS_LIBRARIES})
+ ENDIF()
+
diff --git a/debian/patches/series b/debian/patches/series
index f64c3c8..f5a4238 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ Use-system-mathjax.patch
Disable-privacy-breaching-settings.patch
Use-system-gtest.patch
Disable-git-usage-in-Doxygen-settings.patch
+Fix-LAPACKE-detection.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git
More information about the debian-science-commits
mailing list