summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMatthias Diener <matthias.diener@gmail.com>2018-07-15 10:33:57 -0500
committerTodd Gamblin <tgamblin@llnl.gov>2018-07-15 08:33:57 -0700
commit4df673e401eeb12ae6602d1039eb96f9fcbf6ee3 (patch)
tree9b11190b227b4a9a042aa53bdd71ed7ad5919afc /var
parent79b407f59e7a9ef73d95d087c0e2bba31952c643 (diff)
downloadspack-4df673e401eeb12ae6602d1039eb96f9fcbf6ee3.tar.gz
spack-4df673e401eeb12ae6602d1039eb96f9fcbf6ee3.tar.bz2
spack-4df673e401eeb12ae6602d1039eb96f9fcbf6ee3.tar.xz
spack-4df673e401eeb12ae6602d1039eb96f9fcbf6ee3.zip
charm: provide MPI (#8647)
* Charm: provide MPI * add mpicc wrappers * clarify MPI comment
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/charm/package.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/charm/package.py b/var/spack/repos/builtin/packages/charm/package.py
index d123d2881a..c808335990 100644
--- a/var/spack/repos/builtin/packages/charm/package.py
+++ b/var/spack/repos/builtin/packages/charm/package.py
@@ -92,6 +92,25 @@ class Charm(Package):
variant("production", default=True, description="Build charm++ with all optimizations")
variant("tracing", default=False, description="Enable tracing modules")
+ # FIXME: backend=mpi also provides mpi, but spack does not support
+ # depends_on("mpi") and provides("mpi") in the same package currently.
+ for b in ['multicore', 'netlrts', 'verbs', 'gni', 'ofi', 'pami',
+ 'pamilrts']:
+ provides('mpi@2', when='@6.7.1: build-target=AMPI backend={0}'.format(b))
+ provides('mpi@2', when='@6.7.1: build-target=LIBS backend={0}'.format(b))
+
+ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
+ spack_env.set('MPICC', join_path(self.prefix.bin, 'ampicc'))
+ spack_env.set('MPICXX', join_path(self.prefix.bin, 'ampicxx'))
+ spack_env.set('MPIF77', join_path(self.prefix.bin, 'ampif77'))
+ spack_env.set('MPIF90', join_path(self.prefix.bin, 'ampif90'))
+
+ def setup_dependent_package(self, module, dependent_spec):
+ self.spec.mpicc = join_path(self.prefix.bin, 'ampicc')
+ self.spec.mpicxx = join_path(self.prefix.bin, 'ampicxx')
+ self.spec.mpifc = join_path(self.prefix.bin, 'ampif90')
+ self.spec.mpif77 = join_path(self.prefix.bin, 'ampif77')
+
depends_on("mpi", when="backend=mpi")
depends_on("papi", when="+papi")
depends_on("cuda", when="+cuda")