diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/flang/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/flang/package.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/var/spack/repos/builtin/packages/flang/package.py b/var/spack/repos/builtin/packages/flang/package.py index 853a8dfb35..f0f49ae506 100644 --- a/var/spack/repos/builtin/packages/flang/package.py +++ b/var/spack/repos/builtin/packages/flang/package.py @@ -8,7 +8,7 @@ from spack import * import os -class Flang(CMakePackage): +class Flang(CMakePackage, CudaPackage): """Flang is a Fortran compiler targeting LLVM.""" homepage = "https://github.com/flang-compiler/flang" @@ -24,10 +24,10 @@ class Flang(CMakePackage): version('20180921', sha256='f33bd1f054e474f1e8a204bb6f78d42f8f6ecf7a894fdddc3999f7c272350784') version('20180612', sha256='6af858bea013548e091371a97726ac784edbd4ff876222575eaae48a3c2920ed') - # Variants - variant('nvptx', - default=False, - description='Target OpenMP offload to NVidia GPUs') + # Patched only relevant for March 2019 release with OpenMP Offload support + patch('https://github.com/flang-compiler/flang/commit/b342225a64692d2b9c3aff7658a8e4f94a8923eb.diff', + sha256='3bd2c7453131eaaf11328785a3031fa2298bdd0c02cfd5e2b478e6e847d5da43', + when='@20190329 +cuda') # Build dependency depends_on('cmake@3.8:', type='build') @@ -45,11 +45,15 @@ class Flang(CMakePackage): depends_on('pgmath@20180921', when='@20180921') depends_on('pgmath@20180612', when='@20180612') - depends_on('cuda', when='+nvptx', type=('run')) + depends_on('llvm-flang +cuda', when='+cuda') # conflicts - conflicts('+nvptx', when='@:20181226', - msg='OMP offload to NVidia GPUs available March 2019 or later') + conflicts('+cuda', when='@:20181226', + msg='OpenMP offload to NVidia GPUs available 20190329 or later') + + # Spurious problems running in parallel the Makefile + # generated by the configure + parallel = False def cmake_args(self): spec = self.spec @@ -67,7 +71,7 @@ class Flang(CMakePackage): spec['python'].command.path) ] - if '+nvptx' in spec: + if '+cuda' in spec: options.append('-DFLANG_OPENMP_GPU_NVIDIA=ON') else: options.append('-DFLANG_OPENMP_GPU_NVIDIA=OFF') |