summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/amdfftw
diff options
context:
space:
mode:
authorAMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com>2022-07-21 17:02:28 +0530
committerGitHub <noreply@github.com>2022-07-21 13:32:28 +0200
commit5ffc095f63f5e6c82fe6289ae44066b492c37828 (patch)
treeb93a1f4ab36a52fdb14599f2fd8622b9c618d176 /var/spack/repos/builtin/packages/amdfftw
parentf85c4ec288095bd7c269aad7c1f031223cccd359 (diff)
downloadspack-5ffc095f63f5e6c82fe6289ae44066b492c37828.tar.gz
spack-5ffc095f63f5e6c82fe6289ae44066b492c37828.tar.bz2
spack-5ffc095f63f5e6c82fe6289ae44066b492c37828.tar.xz
spack-5ffc095f63f5e6c82fe6289ae44066b492c37828.zip
Add version 3.2 of AMD libraries (#31538)
Diffstat (limited to 'var/spack/repos/builtin/packages/amdfftw')
-rw-r--r--var/spack/repos/builtin/packages/amdfftw/package.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/amdfftw/package.py b/var/spack/repos/builtin/packages/amdfftw/package.py
index 21d8747b24..72b375a422 100644
--- a/var/spack/repos/builtin/packages/amdfftw/package.py
+++ b/var/spack/repos/builtin/packages/amdfftw/package.py
@@ -71,6 +71,12 @@ class Amdfftw(FftwBase):
'amd-app-opt',
default=False,
description='Build with amd-app-opt suppport')
+ variant(
+ 'amd-dynamic-dispatcher',
+ default=False,
+ when='@3.2:',
+ description='Single portable optimized library'
+ ' to execute on different x86 CPU architectures')
depends_on('texinfo')
@@ -89,10 +95,6 @@ class Amdfftw(FftwBase):
when='@2.2:',
msg='GCC version above 7.2 is required for AMDFFTW')
conflicts(
- '+amd-fast-planner ',
- when='+mpi',
- msg='mpi thread is not supported with amd-fast-planner')
- conflicts(
'+amd-fast-planner',
when='@2.2',
msg='amd-fast-planner is supported from 3.0 onwards')
@@ -176,6 +178,10 @@ class Amdfftw(FftwBase):
'+amd-app-opt',
when='precision=quad',
msg='Quad precision is not supported with amd-app-opt')
+ conflicts(
+ '+amd-dynamic-dispatcher',
+ when='%aocc',
+ msg='dynamic-dispatcher is not supported by AOCC clang compiler')
def configure(self, spec, prefix):
"""Configure function"""
@@ -185,6 +191,12 @@ class Amdfftw(FftwBase):
'--enable-amd-opt'
]
+ # Dynamic dispatcher builds a single portable optimized library
+ # that can execute on different x86 CPU architectures.
+ # It is supported for GCC compiler and Linux based systems only.
+ if '+amd-dynamic-dispatcher' in self.spec:
+ options.append('--enable-dynamic-dispatcher')
+
# Check if compiler is AOCC
if '%aocc' in spec:
options.append('CC={0}'.format(os.path.basename(spack_cc)))