From cb8b9e5df249dc16809697a2d83ae3a1ae55ee21 Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauldmccarthy@gmail.com> Date: Fri, 22 Jan 2021 13:46:05 +0000 Subject: [PATCH] ENH: Full compute capability compilation targets for CUDA 11.0, added some newlines to make maintenance easier. --- config/buildSettings.mk | 2 +- config/supportedGencodes.sh | 151 +++++++++++++++++++++++++++++++++--- 2 files changed, 140 insertions(+), 13 deletions(-) diff --git a/config/buildSettings.mk b/config/buildSettings.mk index 0642b4a..7946dae 100644 --- a/config/buildSettings.mk +++ b/config/buildSettings.mk @@ -141,7 +141,7 @@ ifneq ($(shell which nvcc), ) # because the conda-forge nvcc wrapper checks for # -ccbin, and adds its own if not present. NVCCFLAGS ?= -I${CUDA_HOME}/include \ - ${GENCODEFLAGS} \ + ${GENCODEFLAGS} \ -ccbin $(CXX) NVCCLDFLAGS ?= -L${CUDA_HOME}/lib \ -L${CUDA_HOME}/lib64 \ diff --git a/config/supportedGencodes.sh b/config/supportedGencodes.sh index cb068ff..7465274 100755 --- a/config/supportedGencodes.sh +++ b/config/supportedGencodes.sh @@ -5,53 +5,180 @@ # can also return a "default" set of value pairs that # should give "something" for CUDA versions 5.5--8.0. -default_arch="-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35" +default_arch="-gencode arch=compute_20,code=sm_20 \ + -gencode arch=compute_20,code=sm_21 \ + -gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_35,code=sm_35" vn=$1 if [ "$vn" = 5.5 ] then - echo "-gencode arch=compute_10,code=sm_10 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35" + echo "-gencode arch=compute_10,code=sm_10 \ + -gencode arch=compute_11,code=sm_11 \ + -gencode arch=compute_12,code=sm_12 \ + -gencode arch=compute_13,code=sm_13 \ + -gencode arch=compute_20,code=sm_20 \ + -gencode arch=compute_20,code=sm_21 \ + -gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_35,code=sm_35" exit 0 elif [ "$vn" = 6.0 ] then - echo "-gencode arch=compute_10,code=sm_10 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50" + echo "-gencode arch=compute_10,code=sm_10 \ + -gencode arch=compute_11,code=sm_11 \ + -gencode arch=compute_12,code=sm_12 \ + -gencode arch=compute_13,code=sm_13 \ + -gencode arch=compute_20,code=sm_20 \ + -gencode arch=compute_20,code=sm_21 \ + -gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_50,code=sm_50" exit 0 elif [ "$vn" = 6.5 ] then - echo "-gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50" + echo "-gencode arch=compute_11,code=sm_11 \ + -gencode arch=compute_12,code=sm_12 \ + -gencode arch=compute_13,code=sm_13 \ + -gencode arch=compute_20,code=sm_20 \ + -gencode arch=compute_20,code=sm_21 \ + -gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50" exit 0 elif [ "$vn" = 7.0 ] then - echo "-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53" + echo "-gencode arch=compute_20,code=sm_20 \ + -gencode arch=compute_20,code=sm_21 \ + -gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53" exit 0 elif [ "$vn" = 7.5 ] then - echo "-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53" + echo "-gencode arch=compute_20,code=sm_20 \ + -gencode arch=compute_20,code=sm_21 \ + -gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53" exit 0 elif [ "$vn" = 8.0 ] then - echo "-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62" + echo "-gencode arch=compute_20,code=sm_20 \ + -gencode arch=compute_20,code=sm_21 \ + -gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53 \ + -gencode arch=compute_60,code=sm_60 \ + -gencode arch=compute_61,code=sm_61 \ + -gencode arch=compute_62,code=sm_62" exit 0 elif [ "$vn" = 9.0 ] then - echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72" + echo "-gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53 \ + -gencode arch=compute_60,code=sm_60 \ + -gencode arch=compute_61,code=sm_61 \ + -gencode arch=compute_62,code=sm_62 \ + -gencode arch=compute_70,code=sm_70 \ + -gencode arch=compute_72,code=sm_72" exit 0 elif [ "$vn" = 9.1 ] then - echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72" + echo "-gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53 \ + -gencode arch=compute_60,code=sm_60 \ + -gencode arch=compute_61,code=sm_61 \ + -gencode arch=compute_62,code=sm_62 \ + -gencode arch=compute_70,code=sm_70 \ + -gencode arch=compute_72,code=sm_72" exit 0 elif [ "$vn" = 9.2 ] then - echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72" + echo "-gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53 \ + -gencode arch=compute_60,code=sm_60 \ + -gencode arch=compute_61,code=sm_61 \ + -gencode arch=compute_62,code=sm_62 \ + -gencode arch=compute_70,code=sm_70 \ + -gencode arch=compute_72,code=sm_72" exit 0 elif [ "$vn" = 10.0 ] then - echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75" + echo "-gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53 \ + -gencode arch=compute_60,code=sm_60 \ + -gencode arch=compute_61,code=sm_61 \ + -gencode arch=compute_62,code=sm_62 \ + -gencode arch=compute_70,code=sm_70 \ + -gencode arch=compute_72,code=sm_72 \ + -gencode arch=compute_75,code=sm_75" exit 0 elif [ "$vn" = 10.1 ] then - echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75" + echo "-gencode arch=compute_30,code=sm_30 \ + -gencode arch=compute_32,code=sm_32 \ + -gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53 \ + -gencode arch=compute_60,code=sm_60 \ + -gencode arch=compute_61,code=sm_61 \ + -gencode arch=compute_62,code=sm_62 \ + -gencode arch=compute_70,code=sm_70 \ + -gencode arch=compute_72,code=sm_72 \ + -gencode arch=compute_75,code=sm_75" + exit 0 +elif [ "$vn" = 11.0 ] +then + echo "-gencode arch=compute_35,code=sm_35 \ + -gencode arch=compute_37,code=sm_37 \ + -gencode arch=compute_50,code=sm_50 \ + -gencode arch=compute_52,code=sm_52 \ + -gencode arch=compute_53,code=sm_53 \ + -gencode arch=compute_60,code=sm_60 \ + -gencode arch=compute_61,code=sm_61 \ + -gencode arch=compute_62,code=sm_62 \ + -gencode arch=compute_70,code=sm_70 \ + -gencode arch=compute_72,code=sm_72 \ + -gencode arch=compute_75,code=sm_75 \ + -gencode arch=compute_80,code=sm_80" exit 0 else echo $default_arch -- GitLab