Adding packages for gptune and its dependencies (#26936)

* added package gptune with all its dependencies: adding py-autotune, pygmo, py-pyaml, py-autotune, py-gpy, py-lhsmdu, py-hpbandster, pagmo2, py-opentuner; modifying superlu-dist, py-scikit-optimize

* adding gptune package

* minor fix for macos spack test

* update patch for py-scikit-optimize; update test files for gptune

* fixing gptune package style error

* fixing unit tests

* a few changes reviewed in the PR

* improved gptune package.py with a few newly added/improved dependencies

* fixed a few style errors

* minor fix on package name py-pyro4

* fixing more style errors

* Update var/spack/repos/builtin/packages/py-scikit-optimize/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* resolved a few issues in the PR

* fixing file permissions

* a few minor changes

* style correction

* minor correction to jq package file

* Update var/spack/repos/builtin/packages/py-pyro4/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* fixing a few issues in the PR

* adding py-selectors34 required by py-pyro4

* improved the superlu-dist package

* improved the superlu-dist package

* moree changes to gptune and py-selectors34 based on the PR

* Update var/spack/repos/builtin/packages/py-selectors34/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
This commit is contained in:
liuyangzhuan 2021-11-24 14:06:43 -08:00 committed by GitHub
parent d6b0c838dd
commit 83f97e8eba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
77 changed files with 645 additions and 5 deletions

0
var/spack/repos/builtin/packages/aocc/package.py Executable file → Normal file
View File

0
var/spack/repos/builtin/packages/c-blosc/gcc.patch Executable file → Normal file
View File

View File

View File

0
var/spack/repos/builtin/packages/charmpp/fj.patch Executable file → Normal file
View File

View File

0
var/spack/repos/builtin/packages/exago/package.py Executable file → Normal file
View File

0
var/spack/repos/builtin/packages/exaworks/package.py Executable file → Normal file
View File

View File

View File

View File

@ -0,0 +1,173 @@
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Gptune(CMakePackage):
"""GPTune is an autotuning framework that relies on multitask and transfer
learnings to help solve the underlying black-box optimization problem using
Bayesian optimization methodologies."""
homepage = "https://gptune.lbl.gov/"
git = "https://github.com/gptune/GPTune.git"
maintainers = ['liuyangzhuan']
version('master', branch='master')
variant('app', default=False, description='Build all HPC application examples')
depends_on('mpi', type=('build', 'link', 'run'))
depends_on('cmake@3.3:', type='build')
depends_on('jq', type='run')
depends_on('blas', type='link')
depends_on('lapack', type='link')
depends_on('scalapack', type='link')
depends_on('py-setuptools', type='build')
depends_on('py-ipyparallel', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-pandas', type=('build', 'run'))
depends_on('py-joblib', type=('build', 'run'))
depends_on('py-scikit-learn', type=('build', 'run'))
depends_on('py-matplotlib', type=('build', 'run'))
depends_on('py-pyyaml', type=('build', 'run'))
depends_on('py-scikit-optimize@master+gptune', type=('build', 'run'))
depends_on('py-gpy', type=('build', 'run'))
depends_on('py-lhsmdu', type=('build', 'run'))
depends_on('py-hpbandster', type=('build', 'run'))
depends_on('py-opentuner', type=('build', 'run'))
depends_on('py-ytopt-autotune@1.1.0', type=('build', 'run'))
depends_on('py-filelock', type=('build', 'run'))
depends_on('py-requests', type=('build', 'run'))
depends_on('py-cython', type=('build', 'run'))
depends_on('py-pyaml', type=('build', 'run'))
depends_on('py-mpi4py@3.0.3:', type=('build', 'run'))
depends_on('pygmo', type=('build', 'run'))
depends_on('openturns', type=('build', 'run'))
depends_on('superlu-dist@develop', when='+app', type=('build', 'run'))
conflicts('openmpi@:3')
def cmake_args(self):
spec = self.spec
fc_flags = []
if '%gcc@10:' in spec or self.spec.satisfies('%apple-clang@11:'):
fc_flags.append('-fallow-argument-mismatch')
args = [
'-DTPL_BLAS_LIBRARIES=%s' % spec['blas'].libs.joined(";"),
'-DTPL_LAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
'-DTPL_SCALAPACK_LIBRARIES=%s' % spec['scalapack'].
libs.joined(";"),
'-DCMAKE_Fortran_FLAGS=' + ''.join(fc_flags),
'-DBUILD_SHARED_LIBS=ON',
]
return args
examples_src_dir = 'examples'
src_dir = 'GPTune'
nodes = 1
cores = 4
@run_after('install')
def cache_test_sources(self):
"""Copy the example source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
self.cache_extra_test_sources([self.examples_src_dir, self.src_dir])
def test(self):
spec = self.spec
comp_name = self.compiler.name
comp_version = str(self.compiler.version).replace('.', ',')
test_dir = join_path(self.install_test_root, self.examples_src_dir)
if '+app' in spec:
superludriver = join_path(spec['superlu-dist'].prefix.bin, 'pddrive_spawn')
op = ['-r', superludriver, '.']
# copy superlu-dist executables to the correct place
with working_dir(join_path(test_dir, 'SuperLU_DIST'), create=False):
self.run_test('rm', options=['-rf', 'superlu_dist'], work_dir='.')
self.run_test('git', options=['clone', 'https://github.com/xiaoyeli/superlu_dist.git'], work_dir='.')
self.run_test('mkdir', options=['-p',
'build'], work_dir='./superlu_dist')
self.run_test('mkdir', options=['-p', 'EXAMPLE'],
work_dir='./superlu_dist/build')
self.run_test('cp', options=op, work_dir='./superlu_dist/build/EXAMPLE')
with working_dir(self.install_test_root, create=False):
cdir = join_path(self.prefix, 'gptuneclcm')
self.run_test('cp', options=['-r', cdir, '.'], work_dir='.')
self.run_test('rm', options=['-rf', 'build'], work_dir='.')
self.run_test('mv', options=['gptuneclcm', 'build'], work_dir='.')
with open('{0}/run_env.sh'.format(self.install_test_root), 'w') as envfile:
envfile.write('if [[ $NERSC_HOST = "cori" ]]; then\n')
envfile.write(' export machine=cori\n')
envfile.write('elif [[ $(uname -s) = "Darwin" ]]; then\n')
envfile.write(' export machine=mac\n')
envfile.write('elif [[ $(dnsdomainname) = ' +
'"summit.olcf.ornl.gov" ]]; then\n')
envfile.write(' export machine=summit\n')
envfile.write('elif [[ $(cat /etc/os-release | grep "PRETTY_NAME") ==' +
' *"Ubuntu"* || $(cat /etc/os-release | grep' +
' "PRETTY_NAME") == *"Debian"* ]]; then\n')
envfile.write(' export machine=unknownlinux\n')
envfile.write('fi\n')
envfile.write('export GPTUNEROOT=$PWD\n')
envfile.write('export MPIRUN={0}\n'.format
(which(spec['mpi'].prefix.bin + '/mpirun')))
envfile.write('export proc=$(spack arch)\n')
envfile.write('export mpi={0}\n'.format(spec['mpi'].name))
envfile.write('export compiler={0}\n'.format(comp_name))
envfile.write('export nodes={0} \n'.format(self.nodes))
envfile.write('export cores={0} \n'.format(self.cores))
envfile.write('export ModuleEnv=$machine-$proc-$mpi-$compiler \n')
envfile.write('software_json=$(echo ",\\\"software_configuration\\\":' +
'{\\\"' + spec['blas'].name +
'\\\":{\\\"version_split\\\":' +
' [' + str(spec['blas'].versions).replace('.', ',') +
']},\\\"' + spec['mpi'].name +
'\\\":{\\\"version_split\\\": [' +
str(spec['mpi'].versions).replace('.', ',') + ']},\\\"' +
spec['scalapack'].name +
'\\\":{\\\"version_split\\\": [' +
str(spec['scalapack'].versions).replace('.', ',') +
']},\\\"' +
str(comp_name) + '\\\":{\\\"version_split\\\": [' +
str(comp_version) + ']}}") \n')
envfile.write('loadable_software_json=$(echo ",\\\"loadable_software_' +
'configurations\\\":{\\\"' + spec['blas'].name +
'\\\":{\\\"version_split\\\": [' +
str(spec['blas'].versions).replace('.', ',') +
']},\\\"' + spec['mpi'].name +
'\\\":{\\\"version_split\\\": [' +
str(spec['mpi'].versions).replace('.', ',') + ']},\\\"' +
spec['scalapack'].name +
'\\\":{\\\"version_split\\\": [' +
str(spec['scalapack'].versions).replace('.', ',') +
']},\\\"' + str(comp_name) +
'\\\":{\\\"version_split\\\": ['
+ str(comp_version) + ']}}") \n')
envfile.write('machine_json=$(echo ",\\\"machine_configuration\\\":' +
'{\\\"machine_name\\\":\\\"$machine\\\",\\\"$proc\\\":' +
'{\\\"nodes\\\":$nodes,\\\"cores\\\":$cores}}") \n')
envfile.write('loadable_machine_json=$(echo ",\\\"loadable_machine_' +
'configurations\\\":{\\\"$machine\\\":{\\\"$proc\\\":' +
'{\\\"nodes\\\":$nodes,\\\"cores\\\":$cores}}}") \n')
if '+app' in spec:
apps = ['GPTune-Demo', 'SuperLU_DIST', 'SuperLU_DIST_RCI',
'Scalapack-PDGEQRF', 'Scalapack-PDGEQRF_RCI']
else:
apps = ['GPTune-Demo', 'Scalapack-PDGEQRF', 'Scalapack-PDGEQRF_RCI']
for app in apps:
with working_dir(join_path(test_dir, app), create=False):
# PDGEQRF with GPTune
self.run_test('bash', options=['run_examples.sh'], work_dir='.',
purpose='gptune smoke test for {0}'.format(app))

View File

View File

@ -0,0 +1,48 @@
diff --git a/src/builtin.c b/src/builtin.c
old mode 100644
new mode 100755
index c6c8c2e..e336472
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -185,7 +185,7 @@ static jv f_modf(jq_state *jq, jv input) {
return jv_array_append(ret, jv_number(i));
}
#endif
-#ifdef HAVE_LGAMMA_R
+#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
static jv f_lgamma_r(jq_state *jq, jv input) {
if (jv_get_kind(input) != JV_KIND_NUMBER) {
return type_error(input, "number required");
@@ -1581,7 +1581,7 @@ static const struct cfunction function_list[] = {
#ifdef HAVE_MODF
{(cfunction_ptr)f_modf,"modf", 1},
#endif
-#ifdef HAVE_LGAMMA_R
+#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
{(cfunction_ptr)f_lgamma_r,"lgamma_r", 1},
#endif
{(cfunction_ptr)f_plus, "_plus", 3},
diff --git a/src/builtin.c b/src/builtin.c
old mode 100644
new mode 100755
index c6c8c2e..e336472
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -185,7 +185,7 @@ static jv f_modf(jq_state *jq, jv input) {
return jv_array_append(ret, jv_number(i));
}
#endif
-#ifdef HAVE_LGAMMA_R
+#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
static jv f_lgamma_r(jq_state *jq, jv input) {
if (jv_get_kind(input) != JV_KIND_NUMBER) {
return type_error(input, "number required");
@@ -1581,7 +1581,7 @@ static const struct cfunction function_list[] = {
#ifdef HAVE_MODF
{(cfunction_ptr)f_modf,"modf", 1},
#endif
-#ifdef HAVE_LGAMMA_R
+#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
{(cfunction_ptr)f_lgamma_r,"lgamma_r", 1},
#endif
{(cfunction_ptr)f_plus, "_plus", 3},

View File

@ -4,8 +4,10 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os.path
import sys
from spack import *
from spack.operating_systems.mac_os import macos_version
class Jq(AutotoolsPackage):
@ -20,6 +22,9 @@ class Jq(AutotoolsPackage):
depends_on('oniguruma')
depends_on('bison@3.0:', type='build')
if sys.platform == 'darwin' and macos_version() >= Version('10.15'):
patch('builtinc.patch', when='@1.5:')
@run_after('install')
@on_package_attributes(run_tests=True)
def install_test(self):

0
var/spack/repos/builtin/packages/julia/armgcc.patch Executable file → Normal file
View File

View File

@ -42,7 +42,7 @@ def setup_dependent_build_environment(self, env, dependent_spec):
env.set('KOKKOS_CXX', self.compiler.cxx)
env.set('MPICH_CXX', wrapper)
env.set('OMPI_CXX', wrapper)
env.set('MPICXX_CXX', wrapper) # HPE MPT
env.set('MPICXX_CXX', wrapper) # HPE MPT
def setup_dependent_package(self, module, dependent_spec):
wrapper = join_path(self.prefix.bin, "nvcc_wrapper")

View File

0
var/spack/repos/builtin/packages/libsharp/arm.patch Executable file → Normal file
View File

View File

0
var/spack/repos/builtin/packages/megahit/amd.patch Executable file → Normal file
View File

View File

View File

View File

View File

0
var/spack/repos/builtin/packages/mvapich2x/package.py Executable file → Normal file
View File

0
var/spack/repos/builtin/packages/nnvm/cmake2.patch Executable file → Normal file
View File

View File

View File

View File

View File

View File

View File

View File

@ -0,0 +1,59 @@
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Openturns(CMakePackage):
"""OpenTURNS is a scientific C++ and Python library featuring an
internal data model and algorithms dedicated to the treatment of
uncertainties. The main goal of this library is to provide all
functionalities needed to treat uncertainties in studies with
industrial applications. Targeted users are all engineers who want
to introduce the probabilistic dimension in their so far
deterministic studies."""
homepage = "https://openturns.github.io/www/"
git = "https://github.com/openturns/openturns.git"
maintainers = ['liuyangzhuan']
version('master', branch='master')
variant('python', default=True, description='Build Python bindings')
extends('python', when='+python')
depends_on('mpi', type=('build', 'run'))
depends_on('lapack', type=('build', 'run'))
depends_on('cmake@2.8:', type='build')
depends_on('swig', type=('build', 'run'))
depends_on('py-numpy@1.7:', type=('build', 'run'))
depends_on('py-pandas', type=('build', 'run'))
depends_on('py-matplotlib', type=('build', 'run'))
depends_on('boost+system+serialization+thread', type=('build', 'run'))
depends_on('intel-tbb', type=('build', 'run'))
depends_on('py-cloudpickle', type=('build', 'run'))
depends_on('py-urllib3', type=('build', 'run'))
def cmake_args(self):
spec = self.spec
args = [
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
'-DCMAKE_INSTALL_LIBDIR:STRING=%s' % self.prefix.lib,
'-DCMAKE_INSTALL_BINDIR:STRING=%s' % self.prefix.bin,
'-DLAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
]
if '+python' in spec:
args.extend([
# By default picks up the system python not the Spack build
'-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path),
# By default installs to the python prefix
'-DPYTHON_SITE_PACKAGES={0}'.format(site_packages_dir),
])
return args

View File

@ -0,0 +1,39 @@
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Pagmo2(CMakePackage):
"""Parallel Global Multiobjective Optimizer (and its Python alter ego
PyGMO) is a C++ / Python platform to perform parallel computations of
optimisation tasks (global and local) via the asynchronous generalized
island model."""
homepage = "https://esa.github.io/pagmo2/"
url = "https://github.com/esa/pagmo2/archive/v2.18.0.tar.gz"
git = "https://github.com/esa/pagmo2.git"
maintainers = ['liuyangzhuan']
version('master', branch='master')
version('2.18.0', sha256='5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31')
depends_on('boost+system+serialization+thread')
depends_on('intel-tbb')
depends_on('mpi')
depends_on('cmake@3.1:', type='build')
variant('shared', default=True, description='Build shared libraries')
def cmake_args(self):
spec = self.spec
args = [
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
]
return args

View File

0
var/spack/repos/builtin/packages/php/sbang.patch Executable file → Normal file
View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -11,6 +11,7 @@ class PyGpy(PythonPackage):
homepage = "https://sheffieldml.github.io/GPy/"
pypi = "gpy/GPy-1.9.9.tar.gz"
maintainers = ['liuyangzhuan']
version('1.9.9', sha256='04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed')
version('0.8.8', sha256='e135d928cf170e2ec7fb058a035b5a7e334dc6b84d0bfb981556782528341988')

View File

@ -0,0 +1,35 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# Package automatically generated using 'pip2spack' converter
class PyHpbandster(PythonPackage):
"""
A distributed Hyperband implementation with lots of room for improvement
"""
homepage = "https://github.com/automl/HpBandSter"
pypi = 'hpbandster/hpbandster-0.7.4.tar.gz'
maintainers = ['liuyangzhuan']
version('0.7.4', sha256='49ffc32688155b509e62f3617b52ae15a96c9bff2c996a23df83f279106c5921')
version('0.7.3', sha256='dd6c255f5dfe773a7f0c5ecf580b46a406d9f691303e2f849a14f7ae08ff9f13')
version('0.7.2', sha256='24dd3311b14fa76ab8111062ced670ff888e7e99cad07dcc3398361689c09f90')
version('0.7.1', sha256='41a55c95787eccd23def00f73013fbc9efad3cdc20d9e03270c7c959643dc5ff')
version('0.7.0', sha256='b6a46c73cb6a62e2f2d20984087a3458cea056aef5aa0fc0cd606bdd116eed94')
version('0.6.1', sha256='8812743b43b228dbf38fe2d5c5ecf238c6a742d02d8bdd264a2f193b96ca3b92')
version('0.6.0', sha256='26e69a2f84c8d41bea2fd703f489453a3e9301dcb62f15271b16a3db4ccf225d')
version('0.5.6', sha256='bc8a93638adda5cc0838c836402f18b456631363aefbfdf52942e9f8c7251893')
depends_on('python@3:', type=('build', 'run'))
depends_on('py-configspace', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-statsmodels', type=('build', 'run'))
depends_on('py-netifaces', type=('build', 'run'))
depends_on('py-scipy', type=('build', 'run'))
depends_on('py-serpent', type=('build', 'run'))
depends_on('py-pyro4', type=('build', 'run'))
depends_on('py-setuptools', type='build')

View File

@ -0,0 +1,23 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# Package automatically generated using 'pip2spack' converter
class PyLhsmdu(PythonPackage):
"""Latin Hypercube Sampling with Multi-Dimensional Uniformity (LHS-MDU)
from Deutsch and Deutsch, Latin hypercube sampling with multidimensional
uniformity."""
homepage = "http://github.com/sahilm89/lhsmdu"
pypi = 'lhsmdu/lhsmdu-1.1.tar.gz'
maintainers = ['liuyangzhuan']
version('1.1', sha256='4bc1df6b9cdd27bae0bff75cf1693f455ba32e4fa87ca9a932f60696607fe712')
version('0.1', sha256='ef462054b354cd20b10c6d80876c8fdb552a8d2e23eaf74179dc91956d68d32a')
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type='build')
depends_on('py-scipy', type='build')

0
var/spack/repos/builtin/packages/py-ntplib/package.py Executable file → Normal file
View File

View File

@ -14,6 +14,7 @@ class PyOpentuner(PythonPackage):
maintainers = ['matthiasdiener']
version('0.8.7', commit='070c5ce')
version('0.8.2', commit='8e720a2')
version('0.8.0', commit='4cb9135')

0
var/spack/repos/builtin/packages/py-pika/package.py Executable file → Normal file
View File

View File

@ -10,7 +10,7 @@ class PyPyaml(PythonPackage):
"""PyYAML-based python module to produce pretty and readable
YAML-serialized data."""
maintainers = ['Kerilk']
maintainers = ['Kerilk', 'liuyangzhuan']
homepage = "https://github.com/mk-fg/pretty-yaml"
pypi = "pyaml/pyaml-21.8.3.tar.gz"

View File

@ -0,0 +1,85 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# Package automatically generated using 'pip2spack' converter
class PyPyro4(PythonPackage):
"""
distributed object middleware for Python (RPC)
"""
homepage = "http://pyro4.readthedocs.io"
pypi = 'Pyro4/Pyro4-4.81.tar.gz'
maintainers = ['liuyangzhuan']
version('4.81', sha256='e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f')
version('4.80', sha256='46847ca703de3f483fbd0b2d22622f36eff03e6ef7ec7704d4ecaa3964cb2220')
version('4.79', sha256='b1eb34c9a1e63f731ca480f3e2c48169341a25a7504397badbaaab07e0f3241e')
version('4.78', sha256='b69200747c4c69bfa6fa8b917806b0a9ee7939daaf67ab9bb5ccac7e5179feee')
version('4.77', sha256='2bfe12a22f396474b0e57c898c7e2c561a8f850bf2055d8cf0f7119f0c7a523f')
version('4.76', sha256='ac1fda8d3fd9b5ff2cb8e7e400f95a1b1ae28c5df1aa82d1833a5a898e476334')
version('4.75', sha256='3897c0254046d4cb412a4d1a8f2f9c2c1c1ae643a24db07d0abdb51acdb8d7b5')
version('4.74', sha256='89ed7b12c162e5124f322f992f9506c44f5e1a379926cf01ee73ef810d3bf75f')
version('4.73', sha256='536b07a097d0619e7ab1effa3747fda177a24168d17a07a93ca9ac30977608f7')
version('4.72', sha256='2766b53db49f70b0d047fa6871aeb47484ba7e50cf53cfa37d26f87742c0b6a8')
version('4.71', sha256='78b686b584c180061fe3cfc3adcad4da46b3a7f42be1f9f0d7491cd006541cf3')
version('4.70', sha256='614dc4a7a79a861ee15215a6e60081950b2790b7b5cc91555ebeec75d8444aa5')
version('4.63', sha256='67d2b34156619ba37e92100af95aade8129dd2b7327eb05821d43887451f7d7b')
version('4.62', sha256='e301edfb2bc47768b7222a68cae8de8be796d1d9f61cdbd1af9039985ed5009c')
version('4.61', sha256='c465cb2ea2a90b887988d4249de8c0566bdfb16101fdc570e07e598a92e94d1e')
version('4.60', sha256='52fa5fe8173d234f57b6ca3214df3f34e88356c94081685db6249bff8f0b4f7f')
version('4.59', sha256='6a39dadbd2a83b6fd5ab7f5402f8a4befd467b5c0404b8610a8797f748b72a38')
version('4.58', sha256='2c6d133bcec6039a681475bc878ec98c598ccd33105c1994c7b5217932ee2c0c')
version('4.57', sha256='fb3bf07951c2942b5f955770d50c0152565f0da79a2c1a359cfe2062fe0a82b2')
version('4.56', sha256='a80c27e1debbd8d8725ee4a8f0d30cf831dde5e80b04bfa9c912932c4c13d6aa')
version('4.55', sha256='49a7a142542d87dde1cecc8d3ee048ec9481ba861d61234d219fadd06e6ced96')
version('4.54', sha256='aede879916c0f6e84e560b38af421c24cb5089b66c8f632aa5ac48b20ecde93a')
version('4.53', sha256='c6ca6461472a74a7608a2247413b66e951889351fcf8e9eed5d7232ae844b702')
version('4.52', sha256='449f4bdf8dcbaca90e6436eb40c4e860b0de47346e2c7735d0584496d28451e5')
version('4.51', sha256='d6508b8c70d612356a8ddbe486890b03d840c37b5f7cd8e9366bc4c0dd44d3e6')
version('4.50', sha256='cb199540c2ceae9d67d5f2b20dc002d93f909d5072c3da4381c119d7a4b6d1cf')
version('4.49', sha256='6ae7fb0ce9ae5ca6f1d32487d8606219e7296ae7d22e650e7f9db63399608b76')
version('4.48', sha256='3115def913cf6035000047bb270efefb55a25449a17ed392afde6fd531c82fd2')
version('4.47', sha256='9354b722f9f5965ade5839241c8d7ff06ec2fac678a2c9e197a63966da241c89')
version('4.46', sha256='165ed717275217448d786f9c15777eca889f5344d54eef9482996dfee01b668b')
version('4.45', sha256='e32d3f32e52d84e3456c0d389a115b5430a8bb14dd01336c627355a2f34dba78')
version('4.43', sha256='b6f924fa74f21d14c851450e157711914a402bfc2f3a880c1b2c275fd4cda6d6')
version('4.42', sha256='03951643015a1537ad82fbf99fba6e208007447404aab1a020dce7216120d32a')
version('4.41', sha256='3af4749140e9d4032632277ac19e7fd4761856d2df0f0643c574d1e7174a9703')
version('4.40', sha256='00423d3710f60b2da146075a59e17bfa837f556ed2c8acafe05bc209dcaac3e9')
version('4.39', sha256='39c6ca7f86b0f0bebfeada687a5a8b99f66470a52b0f815195ae63c683266f24')
version('4.38', sha256='837fb552f54e46e54a13fa03c321073ba8373715346c4bc7e522b2c82a2c75c9')
version('4.37', sha256='2c4c9e7c3dbace3c75524324b6a686381be37bebab89b5001c0670418cec89c7')
version('4.36', sha256='fcbfbe22b044440fab3d6cbee11d18532b63accefe9cc30b2c41994cdeb08829')
version('4.35', sha256='97ef658b96fa10bac3e01097b1e2b6630fea2b307081ec6f2ac00f85e6020178')
version('4.34', sha256='36886e660290aa5afd06f735f587717f7f366b3535b7b0d3082b4e99ded9dc37')
version('4.33', sha256='9c01202190b7cdebe629e13abb70f050f421139f8115d1626321f442a9f54df8')
version('4.32', sha256='736eb96801881a61b9da72dced2d49574067443545892355af94411392526902')
version('4.31', sha256='0fd9342a216299ff24761e641714c7bd3e42c364f277eb3600d40085f4ace6c3')
version('4.30', sha256='1b38a52dd89cc6aee145d23bd74f586c73268938c6f346b20583ee0242d7d170')
version('4.29', sha256='3a17eaea8055962ff35bb9117f0860243d7977c34cbfcafc76e8e26309e339cf')
version('4.28', sha256='a094cb12e4e328e8b3b06bb313212f1826208c107fa6b48cf02f0ccdc32b562b')
version('4.27', sha256='ee32544fb04e7f4a2d223b442b306bd67cc900b7e9b5917f0b33d1979e6db34f')
version('4.26', sha256='213145815f00b6855b1ba71c20e78fd1d3c41595fae270308483cdba8d3fcec6')
version('4.25', sha256='ac2b0123badcb76c63eb716fcd95e0ee4021d345b5db05fda19253c59e39b384')
version('4.24', sha256='24d2ceaabbd886981d0df56f8f7e5f7f1a9db173778baa4965605f6880c90eb8')
version('4.23', sha256='57d6feee20a565f9de3302376a2531cfda50755088442102963b16e6f70b2e3b')
version('4.22', sha256='d8f611f384edbd240006d8c0f56135e74199ab88e9416cfc78cf5472f1ff337d')
version('4.21', sha256='96bc4bdccab27d935a44f1d9a8df94986d4b3361f5ff9382e86300ed5b9fdfa2')
version('4.20', sha256='72d3fb6dc653e6ae36bd47f2667fbff3c587c72f8bfb3f0dcb1763ee86c906f8')
version('4.18', sha256='52d7f6e10c44475052ac8b6828ed6f8b728a1c5d7e674b441eb0e930029ea4cd')
version('4.17', sha256='1d0cecdd3340dca695d6f833830e7a59f937d4bedbcff53109abe66e5a65d22c')
version('4.16', sha256='6a996700b877d268b48f91f91e356d2a4b20cb12207c05943d04504f6a0de0c7')
version('4.15', sha256='7b9dc43d6be79e4e542b8520715cb3ab7f9095afccc93bce9cacc271c665bf7d')
version('4.14', sha256='90c4f84ae9932d66825c61af9cd67b0b2877b477c967812a5d6953d67f3b003d')
version('4.13', sha256='afbc6964e593e7efed3fa5c91af45c4491cfdb994e7fdbe285cbb3719162cb90')
version('4.12', sha256='69f1beeafbe8f27bdac18e29ce97dd63cc1bdf847ff221ed0a6f0042047fa237')
version('4.11', sha256='d84ccfe85b14b3cb086f98d70dbf05671d6cb8498bd6f20f0041d6010dd320da')
version('4.10', sha256='de74e5e020a8a26cd357f5917afb48f7e14e161ca58574a1c653441bdbe9711c')
depends_on('py-setuptools', type='build')
depends_on('py-serpent@1.27:', type=('build', 'run'))
depends_on('py-selectors34', when='^python@:3.3', type=('build', 'run'))

View File

View File

View File

View File

View File

View File

@ -16,15 +16,24 @@ class PyScikitOptimize(PythonPackage):
homepage = "https://scikit-optimize.github.io"
pypi = "scikit-optimize/scikit-optimize-0.5.2.tar.gz"
git = "https://github.com/scikit-optimize/scikit-optimize.git"
maintainers = ['liuyangzhuan']
version('master', branch='master')
version('0.5.2', sha256='1d7657a4b8ef9aa6d81e49b369c677c584e83269f11710557741d3b3f8fa0a75')
variant('plots', default=True,
description='Build with plot support from py-matplotlib')
variant('gptune', default=False,
description='Build with patches for GPTune')
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-scipy@0.14.0:', type=('build', 'run'))
depends_on('py-scikit-learn@0.19.1:', type=('build', 'run'))
depends_on('py-pyyaml', when='+gptune', type=('build', 'run'))
depends_on('py-matplotlib', when='+plots')
patch('space.patch', when='+gptune')

View File

@ -0,0 +1,57 @@
diff --git a/skopt/space/space.py b/skopt/space/space.py
old mode 100644
new mode 100755
index 329b0c1..bed1e05
--- a/skopt/space/space.py
+++ b/skopt/space/space.py
@@ -244,13 +244,13 @@ class Real(Dimension):
name : str or None
Name associated with the dimension, e.g., "learning rate".
- dtype : str or dtype, default=float
+ dtype : str or dtype, default=np.float
float type which will be used in inverse_transform,
can be float.
"""
def __init__(self, low, high, prior="uniform", base=10, transform=None,
- name=None, dtype=float):
+ name=None, dtype=np.float, optimize=True):
if high <= low:
raise ValueError("the lower bound {} has to be less than the"
" upper bound {}".format(low, high))
@@ -267,6 +267,7 @@ class Real(Dimension):
self._rvs = None
self.transformer = None
self.transform_ = transform
+ self.optimize = optimize
if isinstance(self.dtype, str) and self.dtype\
not in ['float', 'float16', 'float32', 'float64']:
raise ValueError("dtype must be 'float', 'float16', 'float32'"
@@ -346,7 +347,8 @@ class Real(Dimension):
self.low, self.high).astype(self.dtype)
if self.dtype == float or self.dtype == 'float':
# necessary, otherwise the type is converted to a numpy type
- return getattr(inv_transform, "tolist", lambda: value)()
+ inv_transform = getattr(inv_transform, "tolist", lambda: value)()
+ return [round(val, 6) for val in inv_transform]
else:
return inv_transform
@@ -435,7 +437,7 @@ class Integer(Dimension):
"""
def __init__(self, low, high, prior="uniform", base=10, transform=None,
- name=None, dtype=np.int64):
+ name=None, dtype=np.int64, optimize=True):
if high <= low:
raise ValueError("the lower bound {} has to be less than the"
" upper bound {}".format(low, high))
@@ -450,6 +452,7 @@ class Integer(Dimension):
self.name = name
self.dtype = dtype
self.transform_ = transform
+ self.optimize = optimize
self._rvs = None
self.transformer = None

View File

@ -0,0 +1,21 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# Package automatically generated using 'pip2spack' converter
class PySelectors34(PythonPackage):
"""
Backport of the selectors module from Python 3.4.
"""
homepage = "https://github.com/berkerpeksag/selectors34"
pypi = 'selectors34/selectors34-1.2.tar.gz'
maintainers = ['liuyangzhuan']
version('1.2', sha256='09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c')
depends_on('py-setuptools', type='build')
depends_on('py-six', type=('build', 'run'))

View File

@ -0,0 +1,21 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# Package automatically generated using 'pip2spack' converter
class PySerpent(PythonPackage):
"""
Serialization based on ast.literal_eval
"""
homepage = "https://github.com/irmen/Serpent"
pypi = 'serpent/serpent-1.40.tar.gz'
maintainers = ['liuyangzhuan']
version('1.40', sha256='10b34e7f8e3207ee6fb70dcdc9bce473851ee3daf0b47c58aec1b48032ac11ce')
depends_on('py-setuptools', type='build')
depends_on('python@3.2:', type=('build', 'run'))

View File

@ -9,12 +9,16 @@
class PyYtoptAutotune(PythonPackage):
"""Common interface for autotuning search space and method definition."""
maintainers = ['Kerilk']
maintainers = ['Kerilk', 'liuyangzhuan']
homepage = "https://github.com/ytopt-team/autotune"
url = "https://github.com/ytopt-team/autotune/archive/refs/tags/v1.1.0.tar.gz"
git = "https://github.com/ytopt-team/autotune.git"
version('master', branch='master')
version('1.1.0', sha256='5ee7fa6a1c83131c5ceba1537b25f00de84182e4d0e6ebd0fd6efa4e8aee1bc4')
patch('version.patch', when='@1.1.0')
depends_on('python@3:', type=('build', 'run'))
depends_on('py-setuptools', type='build')

View File

@ -0,0 +1,10 @@
diff --git a/autotune/__init__.py b/autotune/__init__.py
index 5636cf1..6c9488d 100644
--- a/autotune/__init__.py
+++ b/autotune/__init__.py
@@ -1,4 +1,4 @@
-from autotune.__version__ import __version__, __version_suffix__
+from autotune.__version__ import __version__
name = 'autotune'
version = __version__

View File

@ -0,0 +1,35 @@
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Pygmo(CMakePackage):
"""Parallel Global Multiobjective Optimizer (and its Python alter ego
PyGMO) is a C++ / Python platform to perform parallel computations of
optimisation tasks (global and local) via the asynchronous generalized
island model."""
homepage = "https://esa.github.io/pygmo2/"
url = "https://github.com/esa/pygmo2/archive/v2.18.0.tar.gz"
git = "https://github.com/esa/pygmo2.git"
version('master', branch='master')
version('2.18.0', sha256='9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125')
depends_on('pagmo2', type=('build', 'link'))
depends_on('mpi', type='build')
depends_on('py-pybind11@2.6.0:2.6.2', type='build')
depends_on('cmake@3.1:', type='build')
variant('shared', default=True, description='Build shared libraries')
def cmake_args(self):
args = [
self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
]
return args

0
var/spack/repos/builtin/packages/rapidjson/arm.patch Executable file → Normal file
View File

0
var/spack/repos/builtin/packages/raxml/nox86.patch Executable file → Normal file
View File

View File

View File

View File

View File

View File

@ -6,7 +6,7 @@
from spack import *
class SuperluDist(CMakePackage, CudaPackage):
class SuperluDist(CMakePackage, CudaPackage, ROCmPackage):
"""A general purpose library for the direct solution of large, sparse,
nonsymmetric systems of linear equations on high performance machines."""
@ -16,9 +16,10 @@ class SuperluDist(CMakePackage, CudaPackage):
tags = ['e4s']
maintainers = ['xiaoye', 'gchavez2', 'balay', 'pghysels']
maintainers = ['xiaoye', 'gchavez2', 'balay', 'pghysels', 'liuyangzhuan']
version('develop', branch='master')
version('amd', branch='amd')
version('7.1.1', sha256='558053b3d4a56eb661c4f04d4fcab6604018ce5db97115394c161b56c9c278ff')
version('7.1.0', sha256='edbea877562be95fb22c7de1ff484f18685bec4baa8e4f703c414d3c035d4a66')
version('6.4.0', sha256='cb9c0b2ba4c28e5ed5817718ba19ae1dd63ccd30bc44c8b8252b54f5f04a44cc')
@ -47,7 +48,10 @@ class SuperluDist(CMakePackage, CudaPackage):
depends_on('parmetis')
depends_on('metis@5:')
depends_on('cmake@3.18.1:', type='build', when='@7.1.0:')
depends_on('hipblas', when='+rocm')
depends_on('rocsolver', when='+rocm')
conflicts('+rocm', when='+cuda')
conflicts('+cuda', when='@:6.3')
conflicts('^cuda@11.5.0:', when='@7.1.0:')
@ -61,6 +65,7 @@ def cmake_args(self):
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
'-DCMAKE_INSTALL_LIBDIR:STRING=%s' % self.prefix.lib,
'-DCMAKE_INSTALL_BINDIR:STRING=%s' % self.prefix.bin,
'-DTPL_BLAS_LIBRARIES=%s' % spec['blas'].libs.joined(";"),
'-DTPL_LAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
'-DUSE_XSDK_DEFAULTS=YES',
@ -95,6 +100,15 @@ def cmake_args(self):
args.append(
'-DCMAKE_CUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
if '+rocm' in spec and spec.satisfies('@amd'):
args.append('-DTPL_ENABLE_HIPLIB=TRUE')
args.append(
'-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix))
rocm_archs = spec.variants['amdgpu_target'].value
if 'none' not in rocm_archs:
args.append('-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'.
format(",".join(rocm_archs)))
if '+shared' in spec:
args.append('-DBUILD_SHARED_LIBS:BOOL=ON')
else:

0
var/spack/repos/builtin/packages/vvtest/package.py Executable file → Normal file
View File