Add MPI support and tags to embs package (#4824)

This commit is contained in:
pkondamudi 2017-07-19 19:04:48 -05:00 committed by Adam J. Stewart
parent bdcd63ed70
commit 9df9a809a8

View File

@ -33,14 +33,37 @@ class Ebms(MakefilePackage):
described in [1], where only one process in a compute node described in [1], where only one process in a compute node
is used, and the compute nodes are divided into memory nodes is used, and the compute nodes are divided into memory nodes
and tracking nodes. Memory nodes do not participate in particle and tracking nodes. Memory nodes do not participate in particle
tracking. Obviously, there is a lot of resource waste in this design.""" tracking. Obviously, there is a lot of resource waste in this design.
"""
homepage = "https://github.com/ANL-CESAR/EBMS" homepage = "https://github.com/ANL-CESAR/EBMS"
url = "https://github.com/ANL-CESAR/EBMS/archive/master.tar.gz" url = "https://github.com/ANL-CESAR/EBMS/archive/master.tar.gz"
version('develop', git='https://github.com/ANL-CESAR/EBMS.git') version('develop', git='https://github.com/ANL-CESAR/EBMS.git')
variant('mpi', default=True, description='Build with MPI support')
depends_on('mpi', when='+mpi')
tags = ['proxy-app']
@property
def build_targets(self):
targets = []
cflags = '-g -O3 -std=gnu99'
if '+mpi' in self.spec:
targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
targets.append('CFLAGS={0}'.format(cflags))
return targets
def install(self, spec, prefix): def install(self, spec, prefix):
mkdir(prefix.bin) mkdir(prefix.bin)
install('ebmc-iallgather', prefix.bin) install('ebmc-iallgather', prefix.bin)
install('ebmc-rget', prefix.bin) install('ebmc-rget', prefix.bin)
install_tree('run', join_path(prefix, 'run'))
install_tree('inputs', join_path(prefix, 'inputs'))