summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2019-11-11 12:52:53 -0600
committerGitHub <noreply@github.com>2019-11-11 12:52:53 -0600
commit03fb2d61c6d84dc37dddcec5c4761b5d209749b3 (patch)
treea492fdd6611c5d7af264bc552dea11de9f1cfda5
parent38da69346c1201fabcaf257f6eec6dfdac1f6404 (diff)
downloadspack-03fb2d61c6d84dc37dddcec5c4761b5d209749b3.tar.gz
spack-03fb2d61c6d84dc37dddcec5c4761b5d209749b3.tar.bz2
spack-03fb2d61c6d84dc37dddcec5c4761b5d209749b3.tar.xz
spack-03fb2d61c6d84dc37dddcec5c4761b5d209749b3.zip
Add new version of Intel MKL-DNN (#13669)
* Add new version of Intel MKL-DNN * Get OpenMP build working * lomp is also needed for linking * http -> https * Add myself as maintainer
-rw-r--r--var/spack/repos/builtin/packages/intel-mkl-dnn/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-torch/package.py4
2 files changed, 34 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/intel-mkl-dnn/package.py b/var/spack/repos/builtin/packages/intel-mkl-dnn/package.py
index ae5e10c2f0..11bd373b0a 100644
--- a/var/spack/repos/builtin/packages/intel-mkl-dnn/package.py
+++ b/var/spack/repos/builtin/packages/intel-mkl-dnn/package.py
@@ -10,14 +10,38 @@ class IntelMklDnn(CMakePackage):
"""Intel(R) Math Kernel Library for Deep Neural Networks
(Intel(R) MKL-DNN)."""
- homepage = "https://01.org/mkl-dnn"
- url = "https://github.com/intel/mkl-dnn/archive/v0.19.tar.gz"
+ homepage = "https://intel.github.io/mkl-dnn/"
+ url = "https://github.com/intel/mkl-dnn/archive/v1.1.1.tar.gz"
- version('1.0-pc2', sha256='fcc2d951f7170eade0cfdd0d8d1d58e3e7785bd326bca6555f3722f8cba71811')
- version('0.19', sha256='ba39da6adb263df05c4ca2a120295641fc97be75b588922e4274cb628dbe1dcd', preferred=True)
- version('0.18.1', sha256='fc7506701dfece9b03c0dc83d0cda9a44a5de17cdb54bc7e09168003f02dbb70')
- version('0.11', sha256='4cb4a85b05fe42aa527fd70a048caddcba9361f6d3d7bea9f33d74524e206d7d')
- version('0.10', sha256='59828764ae43f1151f77b8997012c52e0e757bc50af1196b86fce8934178c570')
- version('0.9', sha256='8606a80851c45b0076f7d4047fbf774ce13d6b6d857cb2edf95c7e1fd4bca1c7')
+ maintainers = ['adamjstewart']
+ version('1.1.1', sha256='a31b08a89473bfe3bd6ed542503336d21b4177ebe4ccb9a97810808f634db6b6')
+ version('0.19', sha256='ba39da6adb263df05c4ca2a120295641fc97be75b588922e4274cb628dbe1dcd')
+ version('0.18.1', sha256='fc7506701dfece9b03c0dc83d0cda9a44a5de17cdb54bc7e09168003f02dbb70')
+ version('0.11', sha256='4cb4a85b05fe42aa527fd70a048caddcba9361f6d3d7bea9f33d74524e206d7d')
+ version('0.10', sha256='59828764ae43f1151f77b8997012c52e0e757bc50af1196b86fce8934178c570')
+ version('0.9', sha256='8606a80851c45b0076f7d4047fbf774ce13d6b6d857cb2edf95c7e1fd4bca1c7')
+
+ depends_on('cmake@2.8.11:', type='build')
depends_on('intel-mkl')
+ depends_on('llvm-openmp', when='%clang platform=darwin')
+
+ def cmake_args(self):
+ args = []
+
+ # https://github.com/intel/mkl-dnn/issues/591
+ if self.spec.satisfies('%clang platform=darwin'):
+ args.extend([
+ '-DOpenMP_CXX_FLAGS={0}'.format(self.compiler.openmp_flag),
+ '-DOpenMP_C_FLAGS={0}'.format(self.compiler.openmp_flag),
+ '-DOpenMP_CXX_LIB_NAMES=libomp',
+ '-DOpenMP_C_LIB_NAMES=libomp',
+ '-DOpenMP_libomp_LIBRARY={0}'.format(
+ self.spec['llvm-openmp'].libs.libraries[0]
+ ),
+ '-DCMAKE_SHARED_LINKER_FLAGS={0}'.format(
+ self.spec['llvm-openmp'].libs.ld_flags
+ ),
+ ])
+
+ return args
diff --git a/var/spack/repos/builtin/packages/py-torch/package.py b/var/spack/repos/builtin/packages/py-torch/package.py
index b5d8074deb..148b7ea25d 100644
--- a/var/spack/repos/builtin/packages/py-torch/package.py
+++ b/var/spack/repos/builtin/packages/py-torch/package.py
@@ -128,7 +128,7 @@ class PyTorch(PythonPackage):
depends_on('fbgemm', when='+fbgemm')
# TODO: add dependency: https://github.com/ROCmSoftwarePlatform/MIOpen
depends_on('miopen', when='+miopen')
- depends_on('mkl', when='+mkldnn')
+ depends_on('intel-mkl-dnn', when='+mkldnn')
# TODO: add dependency: https://github.com/Maratyszcza/NNPACK
depends_on('nnpack', when='+nnpack')
depends_on('qnnpack', when='+qnnpack')
@@ -219,7 +219,7 @@ class PyTorch(PythonPackage):
enable_or_disable('mkldnn')
if '+mkldnn' in self.spec:
- env.set('MKLDNN_HOME', self.spec['intel-mkl'].prefix)
+ env.set('MKLDNN_HOME', self.spec['intel-mkl-dnn'].prefix)
enable_or_disable('nnpack')
enable_or_disable('qnnpack')