From e668ce5791de4a6fd37dc10eea984753a977267e Mon Sep 17 00:00:00 2001 From: Francesco Lannutti Date: Tue, 6 May 2014 21:57:59 +0200 Subject: [PATCH] Fixed CUSPICE compilation under NVCC versions prior than 6.0. CUSPICE will be compiled for every architectures supported by NVCC --- configure.ac | 46 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 2a26c6db6..9e0c3211e 100644 --- a/configure.ac +++ b/configure.ac @@ -248,12 +248,48 @@ if test "x$enable_cuspice" = xyes; then AC_SUBST(NVCC) # NVCC Compilation Flags - CUDA_CFLAGS="-gencode arch=compute_20,\"code=sm_20\"" - CUDA_CFLAGS+=" -gencode arch=compute_30,\"code=sm_30\"" - CUDA_CFLAGS+=" -gencode arch=compute_32,\"code=sm_32\"" - CUDA_CFLAGS+=" -gencode arch=compute_35,\"code=sm_35\"" - CUDA_CFLAGS+=" -gencode arch=compute_50,\"code=sm_50\"" + NVCC_OUTPUT=`nvcc -h` + C_20=$(echo $NVCC_OUTPUT | grep "compute_20") + SM_20=$(echo $NVCC_OUTPUT | grep "sm_20") + C_30=$(echo $NVCC_OUTPUT | grep "compute_30") + SM_30=$(echo $NVCC_OUTPUT | grep "sm_30") + C_32=$(echo $NVCC_OUTPUT | grep "compute_32") + SM_32=$(echo $NVCC_OUTPUT | grep "sm_32") + C_35=$(echo $NVCC_OUTPUT | grep "compute_35") + SM_35=$(echo $NVCC_OUTPUT | grep "sm_35") + C_50=$(echo $NVCC_OUTPUT | grep "compute_50") + SM_50=$(echo $NVCC_OUTPUT | grep "sm_50") + AC_MSG_RESULT([CUSPICE will be compiled for the following architectures:]) + if test "$C_20" != "" && test "$SM_20" != "" + then + CUDA_CFLAGS="-gencode arch=compute_20,\"code=sm_20\"" + AC_MSG_RESULT([ Compute Capability: 2.0]) + else + CUDA_CFLAGS="" + fi + if test "$C_30" != "" && test "$SM_30" != "" + then + CUDA_CFLAGS+=" -gencode arch=compute_30,\"code=sm_30\"" + AC_MSG_RESULT([ Compute Capability: 3.0]) + fi + if test "$C_32" != "" && test "$SM_32" != "" + then + CUDA_CFLAGS+=" -gencode arch=compute_32,\"code=sm_32\"" + AC_MSG_RESULT([ Compute Capability: 3.2]) + fi + if test "$C_35" != "" && test "$SM_35" != "" + then + CUDA_CFLAGS+=" -gencode arch=compute_35,\"code=sm_35\"" + AC_MSG_RESULT([ Compute Capability: 3.5]) + fi + if test "$C_50" != "" && test "$SM_50" != "" + then + CUDA_CFLAGS+=" -gencode arch=compute_50,\"code=sm_50\"" + AC_MSG_RESULT([ Compute Capability: 5.0]) + fi + CUDA_CFLAGS+=" -DCOMPILED_BY_NVCC" + if test "x$enable_debug" = xno; then CUDA_CFLAGS+=" -O2" else