CUDA compiler conflicts for Linux.

This commit is contained in:
naromero77 2019-01-28 15:00:08 -06:00
parent c63c4a048c
commit 7d4ff654ac

View File

@ -35,6 +35,98 @@ class Cuda(Package):
version('6.5.14', '90b1b8f77313600cc294d9271741f4da', expand=False, version('6.5.14', '90b1b8f77313600cc294d9271741f4da', expand=False,
url="http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run") url="http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run")
# CUDA conflicts taken from official NVidia website
#
# Note that installation guide for CUDA prior to 8.0 are unavailable,
# thus no Spack conflict statements have been implemented prior to
# version 8.0.44. These are conflicts from Linux systems analagous
# conflicts for Mac can be added later.
#
# Not all conflicts are expressed, some conflicts are never encountered
# in practice. For example, XL compiler on Intel hardware or vice-versa
cuda_warning = 'CUDA is not supported by this version of the compiler ' \
'on your architecture.'
# CUDA 10.0.130
# Table 1 from here:
# https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
cuda_version = '@10.0.130'
conflicts('%gcc@8:', when=cuda_version, msg=cuda_warning)
conflicts('%llvm@7:', when=cuda_version, msg=cuda_warning)
conflicts('%pgi@:17', when=cuda_version, msg=cuda_warning)
cuda_version = '@10.0.130 arch=x86_64'
conflicts('%intel@:17', when=cuda_version, msg=cuda_warning)
conflicts('%intel@19:', when=cuda_version, msg=cuda_warning)
cuda_version = '@10.0.130 arch=ppc64le'
conflicts('%xl@:12', when=cuda_version, msg=cuda_warning)
conflicts('%xl@14:15', when=cuda_version, msg=cuda_warning)
conflicts('%xl@17:', when=cuda_version, msg=cuda_warning)
# CUDA 9.2.88
# https://docs.nvidia.com/cuda/archive/9.2/cuda-installation-guide-linux/index.html
cuda_version = '@9.2.88'
conflicts('%llvm@6:', when=cuda_version, msg=cuda_warning)
cuda_version = '@9.2.88 arch=x86_64'
conflicts('%gcc@8:', when=cuda_version, msg=cuda_warning)
conflicts('%pgi@:16', when=cuda_version, msg=cuda_warning)
conflicts('%intel@18:', when=cuda_version, msg=cuda_warning)
cuda_version = '@9.2.88 arch=ppc64le'
conflicts('%gcc@6:', when=cuda_version, msg=cuda_warning)
conflicts('%pgi@:17', when=cuda_version, msg=cuda_warning)
conflicts('%xl@:12', when=cuda_version, msg=cuda_warning)
conflicts('%xl@14:15', when=cuda_version, msg=cuda_warning)
# CUDA 9.1.85
# https://docs.nvidia.com/cuda/archive/9.1/cuda-installation-guide-linux/index.html
cuda_version = '@9.1.85'
conflicts('%pgi@:16', when=cuda_version, msg=cuda_warning)
conflicts('%llvm@5:', when=cuda_version, msg=cuda_warning)
cuda_version = '@9.1.85 arch=x86_64'
conflicts('%gcc@7:', when=cuda_version, msg=cuda_warning)
conflicts('%intel@:16', when=cuda_version, msg=cuda_warning)
conflicts('%intel@18:', when=cuda_version, msg=cuda_warning)
cuda_version = '@9.1.85 arch=ppc64le'
conflicts('%gcc@6:', when=cuda_version, msg=cuda_warning)
conflicts('%xl@:12', when=cuda_version, msg=cuda_warning)
conflicts('%xl@14:', when=cuda_version, msg=cuda_warning)
# CUDA 9.0.176
# https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html
cuda_version = '@9.0.176'
conflicts('%pgi@:16', when=cuda_version, msg=cuda_warning)
conflicts('%llvm@4:', when=cuda_version, msg=cuda_warning)
cuda_version = '@9.0.176 arch=x86_64'
conflicts('%gcc@7:', when=cuda_version, msg=cuda_warning)
conflicts('%intel@:16', when=cuda_version, msg=cuda_warning)
conflicts('%intel@18:', when=cuda_version, msg=cuda_warning)
cuda_version = '@9.0.176 arch=ppc64le'
conflicts('%gcc@6:', when=cuda_version, msg=cuda_warning)
conflicts('%xl@:12', when=cuda_version, msg=cuda_warning)
conflicts('%xl@14:', when=cuda_version, msg=cuda_warning)
# CUDA 8.0.x
# https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-guide-linux/index.html
cuda_version = '@8 arch=x86_64'
conflicts('%gcc@7:', when=cuda_version, msg=cuda_warning)
conflicts('%intel@:16', when=cuda_version, msg=cuda_warning)
conflicts('%intel@17:', when=cuda_version, msg=cuda_warning)
conflicts('%pgi@:16', when=cuda_version, msg=cuda_warning)
conflicts('%llvm@4:', when=cuda_version, msg=cuda_warning)
cuda_version = '@8 arch=ppc64le'
conflicts('%pgi', when=cuda_version, msg=cuda_warning)
conflicts('%xl@:12', when=cuda_version, msg=cuda_warning)
conflicts('%xl@14:', when=cuda_version, msg=cuda_warning)
conflicts('%llvm', when=cuda_version, msg=cuda_warning)
def setup_environment(self, spack_env, run_env): def setup_environment(self, spack_env, run_env):
run_env.set('CUDA_HOME', self.prefix) run_env.set('CUDA_HOME', self.prefix)