diff options
author | Houjun Tang <houj.tang@gmail.com> | 2021-07-28 09:31:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-28 18:31:25 +0200 |
commit | 69464bf36f85cff3fc6c74aa457b2cf64e1b2266 (patch) | |
tree | 61b0ec7922da2d6441ecf8a7678b694089df2029 | |
parent | e3096e94b18bfae813ceb198b2199294f8348534 (diff) | |
download | spack-69464bf36f85cff3fc6c74aa457b2cf64e1b2266.tar.gz spack-69464bf36f85cff3fc6c74aa457b2cf64e1b2266.tar.bz2 spack-69464bf36f85cff3fc6c74aa457b2cf64e1b2266.tar.xz spack-69464bf36f85cff3fc6c74aa457b2cf64e1b2266.zip |
pdc: add new package (#24762)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
-rw-r--r-- | var/spack/repos/builtin/packages/pdc/package.py | 42 |
1 files changed, 42 insertions, 0 deletions
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 |