diff options
-rw-r--r-- | lib/spack/spack/build_systems/cuda.py | 13 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/cuda/package.py | 8 |
2 files changed, 16 insertions, 5 deletions
diff --git a/lib/spack/spack/build_systems/cuda.py b/lib/spack/spack/build_systems/cuda.py index b75807fd06..79c16114f9 100644 --- a/lib/spack/spack/build_systems/cuda.py +++ b/lib/spack/spack/build_systems/cuda.py @@ -61,12 +61,13 @@ class CudaPackage(PackageBase): conflicts('%gcc@6:', when='+cuda ^cuda@:8' + arch_platform) conflicts('%gcc@7:', when='+cuda ^cuda@:9.1' + arch_platform) conflicts('%gcc@8:', when='+cuda ^cuda@:10.0.130' + arch_platform) - conflicts('%gcc@9:', when='+cuda ^cuda@:10.1.243' + arch_platform) + conflicts('%gcc@9:', when='+cuda ^cuda@:10.2.89' + 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) conflicts('%pgi@:15,18:', when='+cuda ^cuda@9.0:9.1' + arch_platform) conflicts('%pgi@:16', when='+cuda ^cuda@9.2.88:10' + arch_platform) + conflicts('%pgi@:17', when='+cuda ^cuda@10.2.89' + 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) @@ -74,6 +75,10 @@ class CudaPackage(PackageBase): when='+cuda ^cuda@9.1' + arch_platform) conflicts('%clang@:3.7,5.1:', when='+cuda ^cuda@9.2' + arch_platform) conflicts('%clang@:3.7,6.1:', when='+cuda ^cuda@10.0.130' + arch_platform) + conflicts('%clang@:3.7,7.1:', when='+cuda ^cuda@10.1.105' + arch_platform) + conflicts('%clang@:3.7,8.1:', + when='+cuda ^cuda@10.1.105:10.1.243' + arch_platform) + conflicts('%clang@:3.2,9.0:', when='+cuda ^cuda@10.2.89' + arch_platform) # x86_64 vs. ppc64le differ according to NVidia docs # Linux ppc64le compiler conflicts from Table from the docs below: @@ -95,6 +100,8 @@ class CudaPackage(PackageBase): conflicts('%clang@5:', when='+cuda ^cuda@:9.1' + arch_platform) conflicts('%clang@6:', when='+cuda ^cuda@:9.2' + arch_platform) 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) # 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 @@ -107,12 +114,12 @@ class CudaPackage(PackageBase): conflicts('%intel@16.0:', when='+cuda ^cuda@:8.0.43') conflicts('%intel@17.0:', when='+cuda ^cuda@:8.0.60') conflicts('%intel@18.0:', when='+cuda ^cuda@:9.9') - conflicts('%intel@19.0:', when='+cuda ^cuda@:10.0') + conflicts('%intel@19.0:', when='+cuda ^cuda@:10.2.89') # 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@17:', when='+cuda ^cuda@10.0.130') + conflicts('%xl@17:', when='+cuda ^cuda@10.0.130:10.2.89') # Mac OS X # platform = ' platform=darwin' diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py index f388bf4c73..cb77f6c342 100644 --- a/var/spack/repos/builtin/packages/cuda/package.py +++ b/var/spack/repos/builtin/packages/cuda/package.py @@ -20,6 +20,10 @@ class Cuda(Package): homepage = "https://developer.nvidia.com/cuda-zone" + version('10.2.89', + sha256='560d07fdcf4a46717f2242948cd4f92c5f9b6fc7eae10dd996614da913d5ca11', + expand=False, + url="http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run") version('10.1.243', sha256='e7c22dc21278eb1b82f34a60ad7640b41ad3943d929bebda3008b72536855d31', expand=False, @@ -52,8 +56,8 @@ class Cuda(Package): # Mojave support -- only macOS High Sierra 10.13 is supported. conflicts('arch=darwin-mojave-x86_64') - def setup_environment(self, spack_env, run_env): - run_env.set('CUDA_HOME', self.prefix) + def setup_run_environment(self, env): + env.set('CUDA_HOME', self.prefix) def install(self, spec, prefix): runfile = glob(join_path(self.stage.source_path, 'cuda*_linux*'))[0] |