From 45ea7c19e5c6e9245a32a599a96bd4ded51e03f9 Mon Sep 17 00:00:00 2001 From: Stephen Sachs Date: Thu, 19 Jan 2023 16:01:31 +0100 Subject: [py-numpy, py-scipy] Enable MKL & ARMpl (#34979) --- var/spack/repos/builtin/packages/py-numpy/package.py | 12 +++++++++--- var/spack/repos/builtin/packages/py-scipy/package.py | 11 ++++------- 2 files changed, 13 insertions(+), 10 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py index 66b7637da6..ad908910cb 100644 --- a/var/spack/repos/builtin/packages/py-numpy/package.py +++ b/var/spack/repos/builtin/packages/py-numpy/package.py @@ -150,9 +150,9 @@ class PyNumpy(PythonPackage): # NVHPC support added in https://github.com/numpy/numpy/pull/17344 conflicts("%nvhpc", when="@:1.19") - # Newer versions will not build with Intel https://github.com/numpy/numpy/issues/22011 - conflicts("%intel", when="@1.23.0:") - conflicts("%oneapi", when="@1.23.0:") + # See https://github.com/numpy/numpy/issues/22011 + conflicts("%intel", when="@1.23.0:1.23.3") + conflicts("%oneapi", when="@1.23.0:1.23.3") def url_for_version(self, version): url = "https://files.pythonhosted.org/packages/source/n/numpy/numpy-{}.{}" @@ -314,6 +314,12 @@ class PyNumpy(PythonPackage): f.write("include_dirs = {0}\n".format(lapack_header_dirs)) f.write("extra_link_args = {0}\n".format(self.spec["lapack"].libs.ld_flags)) + if "^armpl-gcc" in spec: + f.write("[blas]\n") + f.write("libraries = {0}\n".format(lapackblas_lib_names)) + write_library_dirs(f, lapackblas_lib_dirs) + f.write("include_dirs = {0}\n".format(lapackblas_header_dirs)) + def setup_build_environment(self, env): # Tell numpy which BLAS/LAPACK libraries we want to use. # https://github.com/numpy/numpy/pull/13132 diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py index 61deeaedbb..d36e1aad54 100644 --- a/var/spack/repos/builtin/packages/py-scipy/package.py +++ b/var/spack/repos/builtin/packages/py-scipy/package.py @@ -130,11 +130,6 @@ class PyScipy(PythonPackage): # Meson adds this flag for all Python extensions which include Fortran code. conflicts("%oneapi", when="@1.9:") - # FIXME: mysterious build issues with MKL - conflicts("^intel-mkl", when="@1.9:") - conflicts("^intel-oneapi-mkl", when="@1.9:") - conflicts("^intel-parallel-studio", when="@1.9:") - # https://github.com/scipy/scipy/issues/12860 patch( "https://git.sagemath.org/sage.git/plain/build/pkgs/scipy/patches/extern_decls.patch?id=711fe05025795e44b84233e065d240859ccae5bd", @@ -200,14 +195,16 @@ class PyScipy(PythonPackage): def install(self, spec, prefix): blas = spec["blas"].libs.names[0] lapack = spec["lapack"].libs.names[0] - # FIXME: MKL support doesn't work, why? if spec["blas"].name in ["intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"]: blas = "mkl-dynamic-lp64-seq" if spec["lapack"].name in ["intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"]: lapack = "mkl-dynamic-lp64-seq" - if spec["blas"].name in ["blis", "amdblis"]: blas = "blis" + if blas == "armpl": + blas += "-dynamic-lp64-seq" + if lapack == "armpl": + lapack += "-dynamic-lp64-seq" args = [ "setup", -- cgit v1.2.3-60-g2f50