From 8edb31e934e38a7f0f1b6c7a6da42ac1a7dd9591 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 29 Sep 2020 02:38:56 -0700 Subject: CUDA: added v11.1.0 (#19036) Compiler conflicts have been updated accordingly --- lib/spack/spack/build_systems/cuda.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/build_systems/cuda.py b/lib/spack/spack/build_systems/cuda.py index ef57a983c7..7b5135f033 100644 --- a/lib/spack/spack/build_systems/cuda.py +++ b/lib/spack/spack/build_systems/cuda.py @@ -26,7 +26,7 @@ class CudaPackage(PackageBase): '50', '52', '53', '60', '61', '62', '70', '72', '75', - '80', + '80', '86' ] # FIXME: keep cuda and cuda_arch separate to make usage easier until @@ -77,6 +77,7 @@ class CudaPackage(PackageBase): depends_on('cuda@10.0:', when='cuda_arch=75') depends_on('cuda@11.0:', when='cuda_arch=80') + depends_on('cuda@11.1:', when='cuda_arch=86') # There are at least three cases to be aware of for compiler conflicts # 1. Linux x86_64 @@ -95,6 +96,7 @@ class CudaPackage(PackageBase): conflicts('%gcc@9:', when='+cuda ^cuda@:10.2.89' + arch_platform) conflicts('%gcc@:4', when='+cuda ^cuda@11.0.2:' + arch_platform) conflicts('%gcc@10:', when='+cuda ^cuda@:11.0.2' + arch_platform) + conflicts('%gcc@11:', when='+cuda ^cuda@:11.1.0' + arch_platform) conflicts('%pgi@:14.8', when='+cuda ^cuda@:7.0.27' + arch_platform) conflicts('%pgi@:15.3,15.5:', when='+cuda ^cuda@7.5' + arch_platform) conflicts('%pgi@:16.2,16.0:16.3', when='+cuda ^cuda@8' + arch_platform) @@ -102,7 +104,8 @@ class CudaPackage(PackageBase): conflicts('%pgi@:16,19:', when='+cuda ^cuda@9.2.88:10' + arch_platform) conflicts('%pgi@:17,20:', when='+cuda ^cuda@10.1.105:10.2.89' + arch_platform) - conflicts('%pgi@:17,20.2:', when='+cuda ^cuda@11.0.2' + arch_platform) + conflicts('%pgi@:17,21:', + when='+cuda ^cuda@11.0.2:11.1.0' + arch_platform) conflicts('%clang@:3.4', when='+cuda ^cuda@:7.5' + arch_platform) conflicts('%clang@:3.7,4:', when='+cuda ^cuda@8.0:9.0' + arch_platform) @@ -114,7 +117,9 @@ class CudaPackage(PackageBase): conflicts('%clang@:3.7,8.1:', when='+cuda ^cuda@10.1.105:10.1.243' + arch_platform) conflicts('%clang@:3.2,9:', when='+cuda ^cuda@10.2.89' + arch_platform) - conflicts('%clang@:5,10:', when='+cuda ^cuda@11.0.2' + arch_platform) + conflicts('%clang@:5', when='+cuda ^cuda@11.0.2:' + arch_platform) + conflicts('%clang@10:', when='+cuda ^cuda@:11.0.2' + arch_platform) + conflicts('%clang@11:', when='+cuda ^cuda@:11.1.0' + arch_platform) # x86_64 vs. ppc64le differ according to NVidia docs # Linux ppc64le compiler conflicts from Table from the docs below: @@ -132,6 +137,7 @@ class CudaPackage(PackageBase): # officially, CUDA 11.0.2 only supports the system GCC 8.3 on ppc64le conflicts('%gcc@:4', when='+cuda ^cuda@11.0.2:' + arch_platform) conflicts('%gcc@10:', when='+cuda ^cuda@:11.0.2' + arch_platform) + conflicts('%gcc@11:', when='+cuda ^cuda@:11.1.0' + arch_platform) conflicts('%pgi', when='+cuda ^cuda@:8' + arch_platform) conflicts('%pgi@:16', when='+cuda ^cuda@:9.1.185' + arch_platform) conflicts('%pgi@:17', when='+cuda ^cuda@:10' + arch_platform) @@ -141,7 +147,9 @@ class CudaPackage(PackageBase): conflicts('%clang@7:', when='+cuda ^cuda@10.0.130' + arch_platform) conflicts('%clang@7.1:', when='+cuda ^cuda@:10.1.105' + arch_platform) conflicts('%clang@8.1:', when='+cuda ^cuda@:10.2.89' + arch_platform) - conflicts('%clang@:5,10.0:', when='+cuda ^cuda@11.0.2' + arch_platform) + conflicts('%clang@:5', when='+cuda ^cuda@11.0.2:' + arch_platform) + conflicts('%clang@10:', when='+cuda ^cuda@:11.0.2' + arch_platform) + conflicts('%clang@11:', when='+cuda ^cuda@:11.1.0' + arch_platform) # Intel is mostly relevant for x86_64 Linux, even though it also # exists for Mac OS X. No information prior to CUDA 3.2 or Intel 11.1 @@ -156,12 +164,12 @@ class CudaPackage(PackageBase): conflicts('%intel@18.0:', when='+cuda ^cuda@:9.9') conflicts('%intel@19.0:', when='+cuda ^cuda@:10.0') conflicts('%intel@19.1:', when='+cuda ^cuda@:10.1') - conflicts('%intel@19.2:', when='+cuda ^cuda@:11.0.2') + conflicts('%intel@19.2:', when='+cuda ^cuda@:11.1.0') # XL is mostly relevant for ppc64le Linux conflicts('%xl@:12,14:', when='+cuda ^cuda@:9.1') conflicts('%xl@:12,14:15,17:', when='+cuda ^cuda@9.2') - conflicts('%xl@:12,17:', when='+cuda ^cuda@:11.0.2') + conflicts('%xl@:12,17:', when='+cuda ^cuda@:11.1.0') # Mac OS X # platform = ' platform=darwin' -- cgit v1.2.3-60-g2f50