diff options
author | Brian Van Essen <vanessen1@llnl.gov> | 2017-04-28 12:54:59 -0700 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2017-04-28 14:54:59 -0500 |
commit | 7f9acfa3b28d9a0acaada37ba61090a6b34bf879 (patch) | |
tree | 9a827167b627c6459d97f806dadd1796dd888e0e | |
parent | 529a2ae5fa19da4323ec714405be81d6fed005b0 (diff) | |
download | spack-7f9acfa3b28d9a0acaada37ba61090a6b34bf879.tar.gz spack-7f9acfa3b28d9a0acaada37ba61090a6b34bf879.tar.bz2 spack-7f9acfa3b28d9a0acaada37ba61090a6b34bf879.tar.xz spack-7f9acfa3b28d9a0acaada37ba61090a6b34bf879.zip |
Various patches to Openblas for Intel (#4030)
* Added a patch to the openblas package to change the openmp flag for
icc to qopenmp.
* Fixed a linking problem where when using Intel compilers, it was still
pulling in -lgfortran
3 files changed, 41 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/openblas/openblas_icc_fortran.patch b/var/spack/repos/builtin/packages/openblas/openblas_icc_fortran.patch new file mode 100644 index 0000000000..54b38a297e --- /dev/null +++ b/var/spack/repos/builtin/packages/openblas/openblas_icc_fortran.patch @@ -0,0 +1,12 @@ +diff -Naur a/f_check b/f_check +--- a/f_check 2017-04-27 23:16:41.496684722 -0700 ++++ b/f_check 2017-04-27 23:22:38.330563534 -0700 +@@ -322,7 +322,7 @@ + } + + if ($vendor eq "INTEL"){ +- $linker_a .= "-lgfortran" ++ $linker_a .= "-lifcore" + } + + open(MAKEFILE, ">> $makefile") || die "Can't append $makefile"; diff --git a/var/spack/repos/builtin/packages/openblas/openblas_icc_openmp.patch b/var/spack/repos/builtin/packages/openblas/openblas_icc_openmp.patch new file mode 100644 index 0000000000..f4f436c38e --- /dev/null +++ b/var/spack/repos/builtin/packages/openblas/openblas_icc_openmp.patch @@ -0,0 +1,27 @@ +diff -Naur a/Makefile.system b/Makefile.system +--- a/Makefile.system 2017-04-27 23:11:09.226514927 -0700 ++++ b/Makefile.system 2017-04-28 00:00:27.020649577 -0700 +@@ -415,7 +415,7 @@ + endif + + ifeq ($(C_COMPILER), INTEL) +-CCOMMON_OPT += -openmp ++CCOMMON_OPT += -qopenmp + endif + + ifeq ($(C_COMPILER), PGI) +@@ -639,13 +639,14 @@ + + ifeq ($(F_COMPILER), INTEL) + CCOMMON_OPT += -DF_INTERFACE_INTEL ++EXTRALIB += -lifcore + ifdef INTERFACE64 + ifneq ($(INTERFACE64), 0) + FCOMMON_OPT += -i8 + endif + endif + ifeq ($(USE_OPENMP), 1) +-FCOMMON_OPT += -openmp ++FCOMMON_OPT += -qopenmp + endif + endif diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py index 647cbb121a..81f4841931 100644 --- a/var/spack/repos/builtin/packages/openblas/package.py +++ b/var/spack/repos/builtin/packages/openblas/package.py @@ -56,6 +56,8 @@ class Openblas(MakefilePackage): # This patch is in a pull request to OpenBLAS that has not been handled # https://github.com/xianyi/OpenBLAS/pull/915 patch('openblas_icc.patch', when='%intel') + patch('openblas_icc_openmp.patch', when='%intel@16.0:') + patch('openblas_icc_fortran.patch', when='%intel@16.0:') # Change file comments to work around clang 3.9 assembler bug # https://github.com/xianyi/OpenBLAS/pull/982 |