Skip to content

Instantly share code, notes, and snippets.

@houjun
Created June 22, 2021 21:59
Show Gist options
  • Save houjun/7cd33615588f9acc2efb747116c1f97f to your computer and use it in GitHub Desktop.
Save houjun/7cd33615588f9acc2efb747116c1f97f to your computer and use it in GitHub Desktop.
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."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "https://pdc.readthedocs.io/en/latest/"
url = "https://github.com/hpc-io/pdc/archive/refs/tags/0.1.tar.gz"
# FIXME: Add a list of GitHub accounts to
# notify when the package is updated.
maintainers = ['houjun', 'sbyna']
version('0.1', sha256='24787806a30cd1cda1fed17220a62e768bdba5de56877f2ea7126279ff2a4f69')
# FIXME: Add dependencies if required.
conflicts('%clang')
depends_on('libfabric@1.11.2')
depends_on('mercury')
depends_on('cmake')
depends_on('mpich~fortran')
depends_on('hwloc')
root_cmakelists_dir = 'src'
def cmake_args(self):
args = []
args.append("-DMPI_C_COMPILER=%s" % self.spec['mpich'].mpicc)
args.append("-DBUILD_MPI_TESTING=ON")
args.append("-DBUILD_SHARED_LIBS=ON")
args.append("-DBUILD_TESTING=ON")
args.append("-DCMAKE_INSTALL_PREFIX=$PDC_DIR")
args.append("-DPDC_ENABLE_MPI=ON")
# args.append("-DMERCURY_DIR=$MERCURY_DIR")
# args.append("-DCMAKE_C_COMPILER=mpicc")
args.append("-DCMAKE_C_COMPILER=%s" % self.spec['mpich'].mpicc)
if self.spec.satisfies('platform=cray'):
args.append("-DRANKSTR_LINK_STATIC=ON")
return args
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment