Commit 549c7ede authored by Robert Robey's avatar Robert Robey

Merge branch 'master' into 'master'

Master

See merge request !1
parents d09a5036 610c6763
......@@ -37,8 +37,9 @@ class AbtIo(AutotoolsPackage):
version('0.2', tag='v0.2')
version('0.1', tag='v0.1')
depends_on('argobots@develop')
depends_on('autoconf@2.65:')
depends_on('argobots@1.0rc2:')
depends_on('autoconf@2.67:')
depends_on('m4', type=("build"))
depends_on('automake', type=("build"))
depends_on('libtool', type=("build"))
depends_on('pkg-config')
......
......@@ -10,12 +10,17 @@ class Bake(AutotoolsPackage):
version('develop', branch='master')
version('dev-file-backend', branch='carns/dev-file-backend')
version('0.3.5', tag='v0.3.5')
version('0.3.4', tag='v0.3.4')
version('0.3.3', tag='v0.3.3')
version('0.3.2', tag='v0.3.2')
version('0.3.1', tag='v0.3.1')
version('0.3', tag='v0.3')
version('0.2', tag='v0.2')
version('0.1', tag='v0.1')
variant('benchmark', default=False, description='Enable building bake-benchmark')
variant('remi', default=False, description="Enable support for migration with REMI")
variant('sizecheck', default=False, description="Enable size/bound checking (may degrade performance)")
variant('timers', default=False, description="Enable timers on stdout (use for performance tuning)")
......@@ -23,14 +28,26 @@ class Bake(AutotoolsPackage):
depends_on('automake@1.13.4:', type=("build"))
depends_on('libtool', type=("build"))
depends_on('margo@0.4:')
depends_on('remi@0.1:')
depends_on('remi@0.1:', when='@:0.3.3')
depends_on('remi@0.2.2:', when='+remi @0.3.4:')
# dev-file-backend version still requires remi until it is rebased
depends_on('remi@0.2.2:', when='@dev-file-backend')
depends_on('libuuid')
depends_on('pmdk')
depends_on('jsoncpp@1.9.1:', when='+benchmark')
depends_on('mpi', when='+benchmark')
def configure_args(self):
spec = self.spec
extra_args = []
if '+benchmark' in spec:
extra_args.append('--enable-benchmark')
extra_args.append('CXX=%s' % spec['mpi'].mpicxx)
extra_args.append('CC=%s' % spec['mpi'].mpicc)
else:
extra_args.append('--disable-benchmark')
if '+sizecheck' in spec:
extra_args.append('--enable-sizecheck')
else:
......@@ -41,4 +58,10 @@ class Bake(AutotoolsPackage):
else:
extra_args.append('--disable-timers')
if spec.satisfies('@0.3.4:'):
if '+remi' in spec:
extra_args.append('--enable-remi')
else:
extra_args.append('--disable-remi')
return extra_args
......@@ -7,12 +7,12 @@
from spack import *
class Mochio(AutotoolsPackage):
class Benvolio(AutotoolsPackage):
"""Mochi services for I/O"""
homepage = "https://xgitlab.cels.anl.gov/sds/mochio"
url = "https://xgitlab.cels.anl.gov/sds/mochio"
git = "https://xgitlab.cels.anl.gov/sds/mochio.git"
homepage = "https://xgitlab.cels.anl.gov/sds/benvolio"
url = "https://xgitlab.cels.anl.gov/sds/benvolio"
git = "https://xgitlab.cels.anl.gov/sds/benvolio.git"
version('develop', branch='master')
......@@ -21,7 +21,7 @@ class Mochio(AutotoolsPackage):
depends_on('libtool')
depends_on('thallium@0.3.4:')
depends_on('abt-io@0.2:')
depends_on('ssg+mpi@0.2:')
depends_on('ssg+mpi@0.2')
def configure_args(self):
extra_args = []
......
......@@ -7,12 +7,12 @@
from spack import *
class Flamestore(PythonPackage):
class FlamestoreOld(PythonPackage):
"""Transient distributed object store for deep learning"""
homepage = "https://xgitlab.cels.anl.gov/sds/flame-store"
url = "https://xgitlab.cels.anl.gov/sds/flame-store"
git = "https://xgitlab.cels.anl.gov/sds/flame-store.git"
homepage = "https://xgitlab.cels.anl.gov/sds/flame-store-old"
url = "https://xgitlab.cels.anl.gov/sds/flame-store-old"
git = "https://xgitlab.cels.anl.gov/sds/flame-store-old.git"
version('develop', branch='master')
version('0.1', tag='v0.1')
......
......@@ -19,7 +19,7 @@ class Hdf5Rados(CMakePackage):
variant('mobject', default=True, description='Use mobject')
depends_on('cmake@2.8.12.2:', type='build')
depends_on('mobject@develop', when='+mobject')
depends_on('mobject', when='+mobject')
depends_on('hdf5@extvol-develop+mpi')
def cmake_args(self):
......
......@@ -23,7 +23,7 @@ class Hdf5(AutotoolsPackage):
git = "https://bitbucket.hdfgroup.org/scm/hdffv/hdf5.git"
version('develop', branch='develop')
version('extvol-develop', branch='feature/external_vol_changes')
version('extvol-develop', commit='474b0571462956d282331a9ee12c208d50f41032')
version('rados-develop', branch='feature/rados_vol')
version('rados-old', branch='feature/hdf5_rados')
......
......@@ -32,7 +32,8 @@ class Hepnos(CMakePackage):
url = "https://xgitlab.cels.anl.gov/sds/HEPnOS"
git = 'https://xgitlab.cels.anl.gov/sds/HEPnOS.git'
version('0.1.7', tag='v0.1.7', preffered=True)
version('0.1.8', tag='v0.1.8')
version('0.1.7', tag='v0.1.7')
version('0.1.6', tag='v0.1.6')
version('0.1.5', tag='v0.1.5')
version('0.1.4', tag='v0.1.4')
......@@ -40,17 +41,20 @@ class Hepnos(CMakePackage):
version('0.1.2', tag='v0.1.2')
version('0.1.1', tag='v0.1.1')
version('0.1', tag='v0.1')
version('develop', branch='develop')
version('develop', branch='master')
depends_on('mpi')
depends_on('ch-placement@0.1:')
depends_on('margo@0.5.2:', when='@0.1.8:')
depends_on('mercury@master', when='@0.1.8:')
depends_on('sdskeyval@0.1:')
depends_on('bake@0.1:')
depends_on('sdskeyval@0.1.6:', when='@0.1.8:')
depends_on('bake@0.1:', when='@:0.1.7')
depends_on('yaml-cpp@develop')
depends_on('boost+serialization')
depends_on('cmake@3.1.0:')
def cmake_args(self):
extra_args = []
extra_args.extend(['-DCMAKE_CC_COMPILER=%s' % self.spec['mpi'].mpicc])
extra_args = ['-DBUILD_SHARED_LIBS=ON']
extra_args.extend(['-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx])
return extra_args
......@@ -4,8 +4,6 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
import subprocess
import os
class Ior(AutotoolsPackage):
......@@ -18,13 +16,15 @@ class Ior(AutotoolsPackage):
version('develop', branch='master', submodules=True)
version('mobject', branch='mobject-ior', submodules=True)
version('hdf5-rados', branch='hdf5-rados-ior', submodules=True)
version('3.2.0', sha256='0cda0e00b7f070c6754ef8acb3873eb3a625bd8dee3f2e220291656be1322bbb')
version('3.0.1', '71150025e0bb6ea1761150f48b553065')
variant('hdf5', default=False, description='support IO with HDF5 backend')
variant('ncmpi', default=False, description='support IO with NCMPI backend')
variant('rados', default=False, description='support IO with RADOS backend')
variant('mobject', default=False, description='support IO with RADOS-like Mobject backend')
variant('gpfs', default=False, description='support configurable GPFS in IOR')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
......@@ -34,11 +34,6 @@ class Ior(AutotoolsPackage):
depends_on('hdf5+mpi', when='+hdf5')
depends_on('parallel-netcdf', when='+ncmpi')
depends_on('argobots', when='+mobject')
depends_on('ch-placement', when='+mobject')
depends_on('mercury', when='+mobject')
depends_on('ssg', when='+mobject')
depends_on('margo', when='+mobject')
depends_on('mobject', when='+mobject')
patch('0001-DO-NOT-MERGE-mobject-specific-hackery.patch', when='+mobject')
......@@ -53,9 +48,12 @@ class Ior(AutotoolsPackage):
env['CC'] = spec['mpi'].mpicc
if '-gpfs' in self.spec:
config_args.append('--without-gpfs')
if '+hdf5' in spec:
config_args.append('--with-hdf5')
config_args.append('CFLAGS=-D H5_USE_16_API')
#env['CC'] = 'h5pcc'
else:
config_args.append('--without-hdf5')
......@@ -64,11 +62,20 @@ class Ior(AutotoolsPackage):
else:
config_args.append('--without-ncmpi')
if '+rados' in spec:
config_args.append('--with-rados')
else:
config_args.append('--without-rados')
if '+mobject' in spec:
pkg_config=which('pkg-config')
extra_libs="LIBS="
extra_libs += subprocess.check_output([str(pkg_config), "--libs-only-l", "mobject-store"]).strip('\n')
pkg_config = which('pkg-config')
extra_libs += pkg_config('--libs-only-l', "mobject-store", output=str)
config_args.append('--with-rados')
config_args.append(extra_libs)
else:
config_args.append('--without-rados')
return config_args
......@@ -33,15 +33,22 @@ class Margo(AutotoolsPackage):
git = 'https://xgitlab.cels.anl.gov/sds/margo.git'
version('develop', branch='master')
version('0.4.7', tag='v0.4.7', preferred=True)
version('0.6', tag='v0.6')
version('0.5.2', tag='v0.5.2')
version('0.5.1', tag='v0.5.1')
version('0.5', tag='v0.5')
version('0.4.7', tag='v0.4.7')
version('0.4.6', tag='v0.4.6')
version('0.4.5', tag='v0.4.5')
version('0.4.4', tag='v0.4.4')
version('0.4.3', tag='v0.4.3')
version('0.4.2', tag='v0.4.2')
depends_on('mercury@1.0.0:', type=("build", "link", "run"))
depends_on('argobots@develop')
# RPC breadcrubmb support introduced in margo-0.5.2 requires latest mercury
# (until mercury has a release we can track
depends_on('mercury@1.0.0:', type=("build", "link", "run"), when='@:0.5.1')
depends_on('mercury@master', type=("build", "link", "run"), when='@0.5.2:')
depends_on('argobots@1.0rc2:')
depends_on('autoconf@2.65:', type=("build"))
depends_on('m4', type=('build'))
depends_on('automake@1.14.1:', type=("build"))
......
This diff is collapsed.
......@@ -33,13 +33,17 @@ class Mobject(AutotoolsPackage):
git = 'https://xgitlab.cels.anl.gov/sds/mobject-store.git'
version('develop', branch='master')
version('0.4', tag='v0.4')
version('0.3', tag='v0.3')
version('0.2', tag='v0.2')
version('0.1', tag='v0.1')
variant('timing', default=False, description="crude timing information")
depends_on('margo@0.4:')
depends_on('mpi')
depends_on('ssg+mpi@0.2:')
depends_on('ssg+mpi@0.2', when='@:0.3')
depends_on('ssg+mpi@0.4.0:', when='@0.4')
depends_on('ch-placement@0.1:')
depends_on('autoconf')
depends_on('automake')
......@@ -48,6 +52,8 @@ class Mobject(AutotoolsPackage):
depends_on('bake@0.1:')
depends_on('bake@0.3:', when='@0.3:')
patch('0001-crude-timing-information.patch', when="+timing")
def configure_args(self):
extra_args = []
extra_args.extend(['CC=%s' % self.spec['mpi'].mpicc])
......
......@@ -37,6 +37,7 @@ class PyBake(PythonPackage):
git = "https://xgitlab.cels.anl.gov/sds/py-bake.git"
version('develop', branch="master")
version('0.3', tag='v0.3')
version('0.2.1', tag='v0.2.1')
version('0.2', tag='v0.2')
version('0.1', tag='v0.1')
......@@ -45,7 +46,8 @@ class PyBake(PythonPackage):
depends_on('py-pybind11', type=('build'))
depends_on('py-pkgconfig', type=('build'))
depends_on('bake@0.3.1:', when='@0.3:')
depends_on('bake@0.1', when='@0.1')
depends_on('bake@0.2:', when='@0.2:')
depends_on('bake@0.3', when='@0.2')
depends_on('py-margo@0.1:')
depends_on('py-numpy', when='+numpy')
......@@ -38,12 +38,15 @@ class PyMargo(PythonPackage):
git = "https://xgitlab.cels.anl.gov/sds/py-margo.git"
version('develop', branch="master")
version('0.3', tag='v0.3')
version('0.2.4', tag='v0.2.4')
version('0.2.3', tag='v0.2.3')
version('0.2.2', tag='v0.2.2')
version('0.2.1', tag='v0.2.1')
version('0.2', tag='v0.2')
version('0.1', tag='v0.1')
depends_on('margo@0.6:', when='@0.3:')
depends_on('margo@0.4:')
depends_on('python')
depends_on('py-numpy', when='@0.2:')
......
......@@ -37,10 +37,14 @@ class PySdskv(PythonPackage):
git = "https://xgitlab.cels.anl.gov/sds/py-sdskv.git"
version('develop', branch="master")
version('0.1.3', tag='v0.1.3')
version('0.1.2', tag='v0.1.2')
version('0.1.1', tag='v0.1.1')
version('0.1', tag='v0.1')
depends_on('sdskeyval@0.1:')
depends_on('py-margo@0.1:')
depends_on('sdskeyval@0.1.3:', when='@0.1.3:')
depends_on('py-margo@0.1:', when='@:0.1.1')
depends_on('py-margo@0.2.4:', when='@0.1.2:')
depends_on('py-pkgconfig', type=('build'))
depends_on('py-pybind11', type=('build'))
......@@ -44,8 +44,8 @@ class PySsg(PythonPackage):
variant('mpi', default=True, description="Enable MPI support")
depends_on('mpi', when='+mpi', type=("build"))
depends_on('ssg+mpi@0.1:', when='+mpi')
depends_on('ssg@0.1:', when='~mpi')
depends_on('ssg+mpi@0.1:0.2', when='+mpi')
depends_on('ssg@0.1:0.2', when='~mpi')
depends_on('py-mpi4py', when='+mpi')
depends_on('py-margo@0.1:')
depends_on('py-pkgconfig', type=('build'))
......
......@@ -11,17 +11,20 @@ class Remi(CMakePackage):
git='https://xgitlab.cels.anl.gov/sds/remi.git'
version('develop', branch='master')
version('0.2.2', tag='v0.2.2')
version('0.2.1', tag='v0.2.1')
version('0.2', tag='v0.2')
version('0.1.1', tag='v0.1.1')
version('0.1', tag='v0.1')
depends_on('thallium@0.3:')
depends_on('thallium@0.4.2:', when='@0.2.2:')
depends_on('thallium@0.3:', when='@:0.2.1')
depends_on('libuuid')
depends_on('abt-io@0.1:')
patch('0001-explicitly-request-C-14.patch')
def cmake_args(self):
args = ["-DBUILD_SHARED_LIBS:BOOL=ON" ]
return args
......@@ -38,7 +38,7 @@ class Sdsdkv(AutotoolsPackage):
depends_on('libtool', type=("build"))
depends_on('sdskeyval +leveldb~bwtree~bdb')
depends_on('ssg+mpi')
depends_on('ssg+mpi@0.2')
depends_on('ch-placement')
def configure_args(self):
......
......@@ -33,21 +33,32 @@ class Sdskeyval(AutotoolsPackage):
git='https://xgitlab.cels.anl.gov/sds/sds-keyval.git'
version('develop', branch='master')
version('0.1.6', tag='v0.1.6')
version('0.1.5', tag='v0.1.5')
version('0.1.4', tag='v0.1.4')
version('0.1.3', tag='v0.1.3')
version('0.1.2', tag='v0.1.2')
version('0.1.1', tag='v0.1.1')
version('0.1', tag='v0.1')
variant('benchmark', default=False, description='Compiles a benchmark')
variant('remi', default=False, description="Enables migration support using REMI")
variant('bwtree', default=False, description="Enable BwTree keyval backend")
variant('bdb', default=True, description="Enable Berkely DB keyval backend")
variant('leveldb', default=True, description="Enable LevelDB keyval backend")
variant('lmdb', default=False, description="Enable lmdb keyval backend")
depends_on('margo@0.4:', type=("build", "link", "run"))
depends_on('margo@0.4:', type=("build", "link", "run"), when='@:0.1.3')
depends_on('margo@0.5.2:', type=("build", "link", "run"), when='@0.1.4:')
depends_on('abt-io', type=("build", "link", "run"))
depends_on('autoconf@2.65:')
depends_on('automake@1.13.4:')
depends_on('libtool', type=("build"))
depends_on('remi@0.1:', when='@:0.1.1')
depends_on('remi@0.2.1:', when='@0.1.2:')
depends_on('remi@0.2.1:', when='@0.1.2:0.1.3')
depends_on('remi@0.2.2:', when='+remi @0.1.4:')
depends_on('jsoncpp@1.9.1:', when='+benchmark')
depends_on('mpi', when='+benchmark')
# variable dependencies
depends_on('berkeley-db', when="+bdb")
......@@ -68,13 +79,25 @@ class Sdskeyval(AutotoolsPackage):
if '+bdb' in spec:
extra_args.extend([
"--with-berkeleydb="
+ spec['berkeley-db'].prefix
+ spec['berkeley-db'].prefix
])
if '+leveldb' in spec:
extra_args.extend([
"--enable-leveldb"
])
if '+benchmark' in spec:
extra_args.append('--enable-benchmark')
extra_args.append('CXX=%s' % spec['mpi'].mpicxx)
else:
extra_args.append('--disable-benchmark')
if spec.satisfies('@0.1.4:'):
if '+remi' in spec:
extra_args.append('--enable-remi')
else:
extra_args.append('--disable-remi')
# cray compilers needed -latomic to build BwTree;
# gcc7, at least on my Ubuntu laptop did, also
if '+bwtree' in spec:
......
From 91adeaace004c2ab5fef84c12db68fde414daa44 Mon Sep 17 00:00:00 2001
From: Rob Latham <robl@mcs.anl.gov>
Date: Tue, 7 May 2019 21:23:07 -0500
Subject: [PATCH] additional error reporting
---
src/ssg.c | 39 ++++++++++++++++++++++++++++++++-------
1 file changed, 32 insertions(+), 7 deletions(-)
diff --git a/src/ssg.c b/src/ssg.c
index f4dc73bb..4f941756 100644
--- a/src/ssg.c
+++ b/src/ssg.c
@@ -141,7 +141,10 @@ ssg_group_id_t ssg_group_create(
int sret;
ssg_group_id_t group_id = SSG_GROUP_ID_NULL;
- if (!ssg_inst) return group_id;
+ if (!ssg_inst) {
+ fprintf(stderr, "Error: calling SSG routine before initializing SSG\n");
+ return group_id;
+ }
ssg_hashlittle2(group_name, strlen(group_name), &lower, &upper);
name_hash = lower + (((uint64_t)upper)<<32);
@@ -341,7 +344,10 @@ ssg_group_id_t ssg_group_create_mpi(
hg_return_t hret;
ssg_group_id_t group_id = SSG_GROUP_ID_NULL;
- if (!ssg_inst) goto fini;
+ if (!ssg_inst) {
+ fprintf(stderr, "Error: calling SSG routine before initializing SSG\n");
+ goto fini;
+ }
/* get my address */
hret = margo_addr_self(ssg_inst->mid, &self_addr);
@@ -438,7 +444,14 @@ int ssg_group_attach(
const char **addr_strs = NULL;
int sret = SSG_FAILURE;
- if (!ssg_inst || group_id == SSG_GROUP_ID_NULL) goto fini;
+ if (!ssg_inst) {
+ fprintf(stderr, "Error: calling SSG routine before initializing SSG\n");
+ goto fini;
+ }
+ if (group_id == SSG_GROUP_ID_NULL) {
+ fprintf(stderr, "Error: cannot attach to NULL group\n");
+ goto fini;
+ }
if (group_descriptor->owner_status == SSG_OWNER_IS_MEMBER)
{
@@ -457,11 +470,17 @@ int ssg_group_attach(
*/
sret = ssg_group_attach_send(group_descriptor, &group_name,
&group_size, &view_buf);
- if (sret != SSG_SUCCESS || !group_name || !view_buf) goto fini;
+ if (sret != SSG_SUCCESS || !group_name || !view_buf) {
+ fprintf(stderr, "Error: unable to attach to SSG group:\n");
+ goto fini;
+ }
/* set up address string array for group members */
addr_strs = ssg_addr_str_buf_to_list(view_buf, group_size);
- if (!addr_strs) goto fini;
+ if (!addr_strs) {
+ fprintf(stderr, "Error: unable to convert membership view to string\n");
+ goto fini;
+ }
/* allocate an SSG attached group data structure and initialize some of it */
ag = malloc(sizeof(*ag));
@@ -469,12 +488,18 @@ int ssg_group_attach(
memset(ag, 0, sizeof(*ag));
ag->name = group_name;
ag->descriptor = ssg_group_descriptor_dup(group_descriptor);
- if (!ag->descriptor) goto fini;
+ if (!ag->descriptor) {
+ fprintf(stderr, "Error: unable to obtain group descriptor\n");
+ goto fini;
+ }
ag->descriptor->owner_status = SSG_OWNER_IS_ATTACHER;
/* create the view for the group */
sret = ssg_group_view_create(addr_strs, NULL, group_size, &ag->view, NULL);
- if (sret != SSG_SUCCESS) goto fini;
+ if (sret != SSG_SUCCESS) {
+ fprintf(stderr, "Error: unable to create view\n");
+ goto fini;
+ }
/* add this group reference to our group table */
HASH_ADD(hh, ssg_inst->attached_group_table, descriptor->name_hash,
--
2.17.1
......@@ -13,12 +13,20 @@ class Ssg(AutotoolsPackage):
git='https://xgitlab.cels.anl.gov/sds/ssg.git'
version('develop', branch='master')
version('0.4.1', tag='v0.4.1')
version('0.4.0', tag='v0.4.0')
version('0.3.0', tag='v0.3.0')
version('0.2', tag='v0.2')
patch('0001-additional-error-reporting.patch', when='@0.2')
variant('mpi', default=True, description='Build with MPI support')
variant('pmix', default=False, description='Build with PMIx support')
depends_on('mpi', when='+mpi')
depends_on('pmix', when='+pmix')
depends_on('margo@0.4:')
depends_on('margo@0.6:', when='@0.4.1:')
depends_on('autoconf@2.69', type='build')
def configure_args(self):
......@@ -30,6 +38,11 @@ class Ssg(AutotoolsPackage):
"--enable-mpi",
"CC=%s" % spec['mpi'].mpicc
])
elif '+pmix' in spec:
extra_args.extend([
"--enable-pmix"
])
return extra_args
......
......@@ -9,21 +9,27 @@ class Thallium(CMakePackage):
git = "https://xgitlab.cels.anl.gov/sds/thallium.git"
version('develop', branch='master')
version('0.5', tag='v0.5')
version('0.4.2', tag='v0.4.2')
version('0.4.1', tag='v0.4.1')
version('0.4', tag='v0.4')
version('0.3.4', tag='v0.3.4')
version('0.3.3', tag='v0.3.3')
version('0.3.2', tag='v0.3.2')
version('0.3.1', tag='v0.3.1')
version('0.3', tag='v0.3')
depends_on('margo@0.4:')
variant('cereal', default=False,
description='Use the cereal library for serialization')
depends_on('margo@develop', when='@develop')
depends_on('margo@0.6:', when='@0.5:')
depends_on('margo@0.4:', when='@:0.3.4')
depends_on('margo@0.5:', when='@0.4:0.4.2')
depends_on('cereal', when='@0.4.1: +cereal')
# thallium relies on std::decay_t
conflicts('%gcc@:4.9.0');
variant('cxx11abi', default=True,
description='Use CXX11 ABI for the symbols generated by GCC')
def cmake_args(self):
args = ["-DBUILD_SHARED_LIBS:BOOL=ON" ]
if(not self.spec.variants['cxx11abi'].value):
args.extend(['-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 -D_GLIBCXX_USE_CXX14_ABI=0'])
return args
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment