From c0cfaacbc8a8327552d3017f5d8498b22565062e Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Sun, 2 Apr 2017 14:48:27 -0500 Subject: Set default providers for all virtual dependencies (#3634) * Set default providers for everything * Add default OpenFOAM provider --- etc/spack/defaults/packages.yaml | 13 ++++- share/spack/spack-completion.bash | 4 +- var/spack/repos/builtin/packages/daal/package.py | 54 --------------------- .../repos/builtin/packages/intel-daal/package.py | 56 ++++++++++++++++++++++ .../repos/builtin/packages/intel-ipp/package.py | 54 +++++++++++++++++++++ var/spack/repos/builtin/packages/ipp/package.py | 52 -------------------- 6 files changed, 123 insertions(+), 110 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/daal/package.py create mode 100644 var/spack/repos/builtin/packages/intel-daal/package.py create mode 100644 var/spack/repos/builtin/packages/intel-ipp/package.py delete mode 100644 var/spack/repos/builtin/packages/ipp/package.py diff --git a/etc/spack/defaults/packages.yaml b/etc/spack/defaults/packages.yaml index 37737da7c6..0cafab28e9 100644 --- a/etc/spack/defaults/packages.yaml +++ b/etc/spack/defaults/packages.yaml @@ -17,8 +17,17 @@ packages: all: compiler: [gcc, intel, pgi, clang, xl, nag] providers: - mpi: [openmpi, mpich] + awk: [gawk] blas: [openblas] + daal: [intel-parallel-studio+daal] + elf: [elfutils] + golang: [gcc] + ipp: [intel-parallel-studio+ipp] lapack: [openblas] - awk: [gawk] + mkl: [intel-parallel-studio+mkl] + mpe: [mpe2] + mpi: [openmpi, mpich] + opencl: [pocl] + openfoam: [foam-extend] pil: [py-pillow] + scalapack: [netlib-scalapack] diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index eb2da5b7d7..726e1c81cb 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -589,8 +589,8 @@ function _spack_providers { then compgen -W "-h --help" -- "$cur" else - compgen -W "blas daal elf golang ipp lapack mkl - mpe mpi openfoam pil scalapack" -- "$cur" + compgen -W "awk blas daal elf golang ipp lapack mkl + mpe mpi opencl openfoam pil scalapack" -- "$cur" fi } diff --git a/var/spack/repos/builtin/packages/daal/package.py b/var/spack/repos/builtin/packages/daal/package.py deleted file mode 100644 index 18ecfed7c2..0000000000 --- a/var/spack/repos/builtin/packages/daal/package.py +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################## -# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory. -# -# This file is part of Spack. -# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. -# LLNL-CODE-647188 -# -# For details, see https://github.com/llnl/spack -# Please also see the LICENSE file for our notice and the LGPL. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License (as -# published by the Free Software Foundation) version 2.1, February 1999. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and -# conditions of the GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -############################################################################## -from spack import * -import os - -from spack.pkg.builtin.intel import IntelInstaller - - -class Daal(IntelInstaller): - """Intel Data Analytics Acceleration Library. - - Note: You will have to add the download file to a - mirror so that Spack can find it. For instructions on how to set up a - mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - - homepage = "https://software.intel.com/en-us/daal" - - version('2017.0.098', 'b4eb234de12beff4a5cba4b81ea60673', - url="file://%s/l_daal_2017.0.098.tgz" % os.getcwd()) - version('2016.2.181', 'aad2aa70e5599ebfe6f85b29d8719d46', - url="file://%s/l_daal_2016.2.181.tgz" % os.getcwd()) - version('2016.3.210', 'ad747c0dd97dace4cad03cf2266cad28', - url="file://%s/l_daal_2016.3.210.tgz" % os.getcwd()) - - def install(self, spec, prefix): - - self.intel_prefix = os.path.join(prefix, "pkg") - IntelInstaller.install(self, spec, prefix) - - daal_dir = os.path.join(self.intel_prefix, "daal") - for f in os.listdir(daal_dir): - os.symlink(os.path.join(daal_dir, f), os.path.join(self.prefix, f)) diff --git a/var/spack/repos/builtin/packages/intel-daal/package.py b/var/spack/repos/builtin/packages/intel-daal/package.py new file mode 100644 index 0000000000..011dec158e --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-daal/package.py @@ -0,0 +1,56 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * +import os + +from spack.pkg.builtin.intel import IntelInstaller + + +class IntelDaal(IntelInstaller): + """Intel Data Analytics Acceleration Library. + + Note: You will have to add the download file to a + mirror so that Spack can find it. For instructions on how to set up a + mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" + + homepage = "https://software.intel.com/en-us/daal" + + version('2017.0.098', 'b4eb234de12beff4a5cba4b81ea60673', + url="file://%s/l_daal_2017.0.098.tgz" % os.getcwd()) + version('2016.2.181', 'aad2aa70e5599ebfe6f85b29d8719d46', + url="file://%s/l_daal_2016.2.181.tgz" % os.getcwd()) + version('2016.3.210', 'ad747c0dd97dace4cad03cf2266cad28', + url="file://%s/l_daal_2016.3.210.tgz" % os.getcwd()) + + provides('daal') + + def install(self, spec, prefix): + + self.intel_prefix = os.path.join(prefix, "pkg") + IntelInstaller.install(self, spec, prefix) + + daal_dir = os.path.join(self.intel_prefix, "daal") + for f in os.listdir(daal_dir): + os.symlink(os.path.join(daal_dir, f), os.path.join(self.prefix, f)) diff --git a/var/spack/repos/builtin/packages/intel-ipp/package.py b/var/spack/repos/builtin/packages/intel-ipp/package.py new file mode 100644 index 0000000000..3c37b2342f --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-ipp/package.py @@ -0,0 +1,54 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * +import os + +from spack.pkg.builtin.intel import IntelInstaller + + +class IntelIpp(IntelInstaller): + """Intel Integrated Performance Primitives. + + Note: You will have to add the download file to a + mirror so that Spack can find it. For instructions on how to set up a + mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" + + homepage = "https://software.intel.com/en-us/intel-ipp" + + version('2017.0.098', 'e7be757ebe351d9f9beed7efdc7b7118', + url="file://%s/l_ipp_2017.0.098.tgz" % os.getcwd()) + version('9.0.3.210', '0e1520dd3de7f811a6ef6ebc7aa429a3', + url="file://%s/l_ipp_9.0.3.210.tgz" % os.getcwd()) + + provides('ipp') + + def install(self, spec, prefix): + + self.intel_prefix = os.path.join(prefix, "pkg") + IntelInstaller.install(self, spec, prefix) + + ipp_dir = os.path.join(self.intel_prefix, "ipp") + for f in os.listdir(ipp_dir): + os.symlink(os.path.join(ipp_dir, f), os.path.join(self.prefix, f)) diff --git a/var/spack/repos/builtin/packages/ipp/package.py b/var/spack/repos/builtin/packages/ipp/package.py deleted file mode 100644 index a9765e1a0a..0000000000 --- a/var/spack/repos/builtin/packages/ipp/package.py +++ /dev/null @@ -1,52 +0,0 @@ -############################################################################## -# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory. -# -# This file is part of Spack. -# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. -# LLNL-CODE-647188 -# -# For details, see https://github.com/llnl/spack -# Please also see the LICENSE file for our notice and the LGPL. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License (as -# published by the Free Software Foundation) version 2.1, February 1999. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and -# conditions of the GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -############################################################################## -from spack import * -import os - -from spack.pkg.builtin.intel import IntelInstaller - - -class Ipp(IntelInstaller): - """Intel Integrated Performance Primitives. - - Note: You will have to add the download file to a - mirror so that Spack can find it. For instructions on how to set up a - mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - - homepage = "https://software.intel.com/en-us/intel-ipp" - - version('2017.0.098', 'e7be757ebe351d9f9beed7efdc7b7118', - url="file://%s/l_ipp_2017.0.098.tgz" % os.getcwd()) - version('9.0.3.210', '0e1520dd3de7f811a6ef6ebc7aa429a3', - url="file://%s/l_ipp_9.0.3.210.tgz" % os.getcwd()) - - def install(self, spec, prefix): - - self.intel_prefix = os.path.join(prefix, "pkg") - IntelInstaller.install(self, spec, prefix) - - ipp_dir = os.path.join(self.intel_prefix, "ipp") - for f in os.listdir(ipp_dir): - os.symlink(os.path.join(ipp_dir, f), os.path.join(self.prefix, f)) -- cgit v1.2.3-70-g09d2