Skip to content
Snippets Groups Projects
Commit 6d8ec889 authored by Nichols A. Romero's avatar Nichols A. Romero Committed by Adam J. Stewart
Browse files

Flang OpenMP target support for NVidia GPUs. (#14486)

* Flang OpenMP target support for NVidia GPUs.

* explictly disable gpu option with else clause.
parent 2e5c9eb2
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,11 @@ class Flang(CMakePackage): ...@@ -24,6 +24,11 @@ class Flang(CMakePackage):
version('20180921', sha256='f33bd1f054e474f1e8a204bb6f78d42f8f6ecf7a894fdddc3999f7c272350784') version('20180921', sha256='f33bd1f054e474f1e8a204bb6f78d42f8f6ecf7a894fdddc3999f7c272350784')
version('20180612', sha256='6af858bea013548e091371a97726ac784edbd4ff876222575eaae48a3c2920ed') version('20180612', sha256='6af858bea013548e091371a97726ac784edbd4ff876222575eaae48a3c2920ed')
# Variants
variant('nvptx',
default=False,
description='Target OpenMP offload to NVidia GPUs')
# Build dependency # Build dependency
depends_on('cmake@3.8:', type='build') depends_on('cmake@3.8:', type='build')
depends_on('python@2.7:', type='build') depends_on('python@2.7:', type='build')
...@@ -40,6 +45,12 @@ class Flang(CMakePackage): ...@@ -40,6 +45,12 @@ class Flang(CMakePackage):
depends_on('pgmath@20180921', when='@20180921') depends_on('pgmath@20180921', when='@20180921')
depends_on('pgmath@20180612', when='@20180612') depends_on('pgmath@20180612', when='@20180612')
depends_on('cuda', when='+nvptx', type=('run'))
# conflicts
conflicts('+nvptx', when='@:20181226',
msg='OMP offload to NVidia GPUs available March 2019 or later')
def cmake_args(self): def cmake_args(self):
spec = self.spec spec = self.spec
options = [ options = [
...@@ -56,6 +67,11 @@ def cmake_args(self): ...@@ -56,6 +67,11 @@ def cmake_args(self):
spec['python'].command.path) spec['python'].command.path)
] ]
if '+nvptx' in spec:
options.append('-DFLANG_OPENMP_GPU_NVIDIA=ON')
else:
options.append('-DFLANG_OPENMP_GPU_NVIDIA=OFF')
return options return options
@run_after('install') @run_after('install')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment