summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorHoujun Tang <houj.tang@gmail.com>2021-07-28 09:31:25 -0700
committerGitHub <noreply@github.com>2021-07-28 18:31:25 +0200
commit69464bf36f85cff3fc6c74aa457b2cf64e1b2266 (patch)
tree61b0ec7922da2d6441ecf8a7678b694089df2029 /var
parente3096e94b18bfae813ceb198b2199294f8348534 (diff)
downloadspack-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>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/pdc/package.py42
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