summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com>2023-11-06 22:50:19 +0530
committerGitHub <noreply@github.com>2023-11-06 09:20:19 -0800
commitab563c09d2162df0f8cc715952eaa264f29e8e6b (patch)
tree7c9bc615046b462b03e31fe6650899e5b10fc634
parentabdac36fd5097e8ae6796d946e7c066dafe09ca7 (diff)
downloadspack-ab563c09d2162df0f8cc715952eaa264f29e8e6b.tar.gz
spack-ab563c09d2162df0f8cc715952eaa264f29e8e6b.tar.bz2
spack-ab563c09d2162df0f8cc715952eaa264f29e8e6b.tar.xz
spack-ab563c09d2162df0f8cc715952eaa264f29e8e6b.zip
enable threading in amdlibflame (#40852)
Co-authored-by: vkallesh <Vijay-teekinavar.Kallesh@amd.com>
-rw-r--r--var/spack/repos/builtin/packages/amdlibflame/package.py11
-rw-r--r--var/spack/repos/builtin/packages/amdlibflame/supermat.patch11
2 files changed, 17 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/amdlibflame/package.py b/var/spack/repos/builtin/packages/amdlibflame/package.py
index d8e06c6b43..e1b96e042e 100644
--- a/var/spack/repos/builtin/packages/amdlibflame/package.py
+++ b/var/spack/repos/builtin/packages/amdlibflame/package.py
@@ -59,10 +59,11 @@ class Amdlibflame(LibflameBase):
conflicts("+ilp64", when="@:3.0.0", msg="ILP64 is supported from 3.0.1 onwards")
conflicts("threads=pthreads", msg="pthread is not supported")
- conflicts("threads=openmp", msg="openmp is not supported")
+ conflicts("threads=openmp", when="@:3", msg="openmp is not supported by amdlibflame < 4.0")
patch("aocc-2.2.0.patch", when="@:2", level=1)
patch("cray-compiler-wrapper.patch", when="@:3.0.0", level=1)
+ patch("supermat.patch", when="@4.0:4.1", level=1)
provides("flame@5.2", when="@2:")
@@ -109,13 +110,13 @@ class Amdlibflame(LibflameBase):
)
# From 3.2 version, amd optimized flags are encapsulated under:
- # enable-amd-flags for gcc compiler
- # enable-amd-aocc-flags for aocc compiler
+ # enable-amd-aocc-flags for AOCC compiler
+ # enable-amd-flags for all other compilers
if "@3.2:" in self.spec:
- if "%gcc" in self.spec:
- args.append("--enable-amd-flags")
if "%aocc" in self.spec:
args.append("--enable-amd-aocc-flags")
+ else:
+ args.append("--enable-amd-flags")
if "@:3.1" in self.spec:
args.append("--enable-external-lapack-interfaces")
diff --git a/var/spack/repos/builtin/packages/amdlibflame/supermat.patch b/var/spack/repos/builtin/packages/amdlibflame/supermat.patch
new file mode 100644
index 0000000000..374ffa3dc3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/amdlibflame/supermat.patch
@@ -0,0 +1,11 @@
+diff --git a/src/map/lapack2flamec/FLA_getrf.c b/src/map/lapack2flamec/FLA_getrf.c
+index af70857e..1ffc63a1 100644
+--- a/src/map/lapack2flamec/FLA_getrf.c
++++ b/src/map/lapack2flamec/FLA_getrf.c
+@@ -232,6 +232,7 @@ extern fla_context global_context;
+
+ #else /* FLA_ENABLE_SUPERMATRIX */
+
++#define LAPACK_getrf_body_s LAPACK_getrf_body
+ #define LAPACK_getrf_body_d LAPACK_getrf_body
+ #define LAPACK_getrf_body_z LAPACK_getrf_body