[arrayfire] 118/248: Default CPU fallback for CUDA LAPACK to OFF. Use CUDA_LAPACK_CPU_FALLBACK=ON

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Tue Nov 17 15:54:12 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch dfsg-clean
in repository arrayfire.

commit 6223be6802dd2d0f1a5c57e099e19a0d12dbba2b
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date:   Sat Oct 10 12:40:31 2015 -0400

    Default CPU fallback for CUDA LAPACK to OFF. Use CUDA_LAPACK_CPU_FALLBACK=ON
---
 src/backend/cuda/CMakeLists.txt | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/src/backend/cuda/CMakeLists.txt b/src/backend/cuda/CMakeLists.txt
index 02e0b1a..2e231fe 100644
--- a/src/backend/cuda/CMakeLists.txt
+++ b/src/backend/cuda/CMakeLists.txt
@@ -69,22 +69,30 @@ ENDIF()
 ADD_DEFINITIONS(-DAF_CUDA)
 
 IF(${CUDA_VERSION_MAJOR} LESS 7)
-    ## Try to use CPU side lapack
-    IF(APPLE)
-        FIND_PACKAGE(LAPACK)
-    ELSE(APPLE) # Linux and Windows
-        FIND_PACKAGE(LAPACKE)
-    ENDIF(APPLE)
-
-    IF(NOT LAPACK_FOUND)
+    # Use CPU Lapack as fallback?
+    OPTION(CUDA_LAPACK_CPU_FALLBACK "Use CPU LAPACK as fallback for CUDA LAPACK when CUDA is 6.5 or older" OFF)
+    MARK_AS_ADVANCED(CUDA_LAPACK_CPU_FALLBACK)
+
+    IF(${CUDA_LAPACK_CPU_FALLBACK})
+        ## Try to use CPU side lapack
+        IF(APPLE)
+            FIND_PACKAGE(LAPACK)
+        ELSE(APPLE) # Linux and Windows
+            FIND_PACKAGE(LAPACKE)
+        ENDIF(APPLE)
+
+        IF(NOT LAPACK_FOUND)
+            MESSAGE(STATUS "CUDA Version ${CUDA_VERSION_STRING} does not contain cuSolve library. Linear Algebra will not be available.")
+        ELSE(NOT LAPACK_FOUND)
+            MESSAGE(STATUS "CUDA Version ${CUDA_VERSION_STRING} does not contain cuSolve library. But CPU LAPACK libraries are available. Will fallback to using host side code.")
+            ADD_DEFINITIONS(-DWITH_CPU_LINEAR_ALGEBRA)
+        ENDIF()
+    ELSE()
         MESSAGE(STATUS "CUDA Version ${CUDA_VERSION_STRING} does not contain cuSolve library. Linear Algebra will not be available.")
-    ELSE(NOT LAPACK_FOUND)
-        MESSAGE(STATUS "CUDA Version ${CUDA_VERSION_STRING} does not contain cuSolve library. But CPU LAPACK libraries are available. Will fallback to using host side code.")
-        SET(CUDA_LAPACK_CPU_FALLBACK ON)
-        ADD_DEFINITIONS(-DWITH_CPU_LINEAR_ALGEBRA)
     ENDIF()
     IF(CMAKE_VERSION VERSION_LESS 3.2)
         SET(CUDA_cusolver_LIBRARY)
+        MARK_AS_ADVANCED(CUDA_cusolver_LIBRARY)
     ENDIF(CMAKE_VERSION VERSION_LESS 3.2)
 ELSE(${CUDA_VERSION_MAJOR} LESS 7)
     MESSAGE(STATUS "CUDA cusolver library available in CUDA Version ${CUDA_VERSION_STRING}")

-- 
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