CUDA compiler conflicts for Linux.
This commit is contained in:
		| @@ -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) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 naromero77
					naromero77