From 69464bf36f85cff3fc6c74aa457b2cf64e1b2266 Mon Sep 17 00:00:00 2001 From: Houjun Tang Date: Wed, 28 Jul 2021 09:31:25 -0700 Subject: pdc: add new package (#24762) Co-authored-by: Massimiliano Culpo --- var/spack/repos/builtin/packages/pdc/package.py | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 var/spack/repos/builtin/packages/pdc/package.py diff --git a/var/spack/repos/builtin/packages/pdc/package.py b/var/spack/repos/builtin/packages/pdc/package.py new file mode 100644 index 0000000000..2f96d12d79 --- /dev/null +++ b/var/spack/repos/builtin/packages/pdc/package.py @@ -0,0 +1,42 @@ +# 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 Pdc(CMakePackage): + """Proactive Data Containers (PDC) software provides an object-centric + API and a runtime system with a set of data object management services. + These services allow placing data in the memory and storage hierarchy, + performing data movement asynchronously, and providing scalable + metadata operations to find data objects.""" + + homepage = "https://pdc.readthedocs.io/en/latest/" + url = "https://github.com/hpc-io/pdc/archive/refs/tags/0.1.tar.gz" + + maintainers = ['houjun', 'sbyna'] + + version('0.1', sha256='01b4207ecf71594a7f339c315f2869b3fa8fbd34b085963dc4c1bdc5b66bb93e') + + conflicts('%clang') + depends_on('libfabric') + depends_on('mercury') + depends_on('mpi') + + root_cmakelists_dir = 'src' + + def cmake_args(self): + args = [ + self.define('MPI_C_COMPILER', self.spec['mpi'].mpicc), + self.define('BUILD_MPI_TESTING', 'ON'), + self.define('BUILD_SHARED_LIBS', 'ON'), + self.define('BUILD_TESTING', 'ON'), + self.define('PDC_ENABLE_MPI', 'ON'), + self.define('CMAKE_C_COMPILER', self.spec['mpi'].mpicc) + ] + + if self.spec.satisfies('platform=cray'): + args.append("-DRANKSTR_LINK_STATIC=ON") + return args -- cgit v1.2.3-70-g09d2