summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Torben Ohlhus <k.ohlhus@gmail.com>2020-02-14 10:59:34 +0900
committerGitHub <noreply@github.com>2020-02-13 19:59:34 -0600
commit4fa29ceb504087c25fd85c16abc150831af29b4e (patch)
tree59ff79ac3ac71dfbcf7333cdeeca36bcc3da25cc
parent690ed2fe98067de5cd70d88c9089be351ebf84b8 (diff)
downloadspack-4fa29ceb504087c25fd85c16abc150831af29b4e.tar.gz
spack-4fa29ceb504087c25fd85c16abc150831af29b4e.tar.bz2
spack-4fa29ceb504087c25fd85c16abc150831af29b4e.tar.xz
spack-4fa29ceb504087c25fd85c16abc150831af29b4e.zip
openblas: add variant +consistentFPCSR (#14876)
Add the OpenBLAS variant `+consistentFPCSR`, by default `False`, which adds the compile definition `CONSISTENT_FPCSR=1` as documented in OpenBLAS `Makefile.rule`.
-rw-r--r--var/spack/repos/builtin/packages/openblas/package.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py
index b3ce744bf8..607a41e85d 100644
--- a/var/spack/repos/builtin/packages/openblas/package.py
+++ b/var/spack/repos/builtin/packages/openblas/package.py
@@ -37,6 +37,7 @@ class Openblas(MakefilePackage):
variant('ilp64', default=False, description='Force 64-bit Fortran native integers')
variant('pic', default=True, description='Build position independent code')
variant('shared', default=True, description='Build shared libraries')
+ variant('consistentFPCSR', default=False, description='Synchronize FP CSR between threads (x86/x86_64 only)')
variant(
'threads', default='none',
@@ -234,6 +235,11 @@ class Openblas(MakefilePackage):
if '+ilp64' in self.spec:
make_defs += ['INTERFACE64=1']
+ # Synchronize floating-point control and status register (FPCSR)
+ # between threads (x86/x86_64 only).
+ if '+consistentFPCSR' in self.spec:
+ make_defs += ['CONSISTENT_FPCSR=1']
+
# Prevent errors in `as` assembler from newer instructions
if self.spec.satisfies('%gcc@:4.8.4'):
make_defs.append('NO_AVX2=1')