From 66172f80f3139a7259379116cb50db853b3c4c34 Mon Sep 17 00:00:00 2001 From: "Nichols A. Romero" Date: Tue, 26 Mar 2019 09:31:57 -0500 Subject: Fixed some issues with CUDA-Intel compiler conflicts. (#10924) * Fixed some issues with CUDA-Intel compiler conflicts. * Comment about expressing CUDA-compiler conflicts. * More precise conflicts and also add support for Intel 19.0 --- lib/spack/spack/build_systems/cuda.py | 19 +++++++++++++------ 1 file changed, 13 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 265880665d..436bc30729 100644 --- a/lib/spack/spack/build_systems/cuda.py +++ b/lib/spack/spack/build_systems/cuda.py @@ -51,6 +51,8 @@ class CudaPackage(PackageBase): # 1. Linux x86_64 # 2. Linux ppc64le # 3. Mac OS X + # CUDA-compiler conflicts are version-to-version specific and are + # difficult to express with the current Spack conflict syntax # Linux x86_64 compiler conflicts from here: # https://gist.github.com/ax3l/9489132 @@ -93,12 +95,17 @@ class CudaPackage(PackageBase): conflicts('%clang@7:', when='+cuda ^cuda@10.0.130' + arch_platform) # Intel is mostly relevant for x86_64 Linux, even though it also - # exists for Mac OS X. - conflicts('%intel@:14,16:', when='+cuda ^cuda@7.5') - conflicts('%intel@:14,17:', when='+cuda ^cuda@8.0.44') - conflicts('%intel@:14,18:', when='+cuda ^cuda@8.0.61:9.1') - conflicts('%intel@17:18', when='+cuda ^cuda@9.2:') - conflicts('%intel@19:', when='+cuda') + # exists for Mac OS X. No information prior to CUDA 3.2 or Intel 11.1 + conflicts('%intel@:11.0', when='+cuda ^cuda@:3.1') + conflicts('%intel@:12.0', when='+cuda ^cuda@5.5:') + conflicts('%intel@:13.0', when='+cuda ^cuda@6.0:') + conflicts('%intel@:13.2', when='+cuda ^cuda@6.5:') + conflicts('%intel@:14.9', when='+cuda ^cuda@7:') + # Intel 15.x is compatible with CUDA 7 thru current CUDA + 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') # XL is mostly relevant for ppc64le Linux conflicts('%xl@:12,14:', when='+cuda ^cuda@:9.1') -- cgit v1.2.3-70-g09d2