diff options
author | Axel Huebl <axel.huebl@plasma.ninja> | 2020-03-21 17:36:15 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-21 15:36:15 -0700 |
commit | a3e3413855f5389b7cab9c7bc6126f150597b0ec (patch) | |
tree | d0219e7bb2edcbb76b58222de574e1e60e2cee70 /var | |
parent | bb4e9a7b32f5073ca9dc0a0be6d5ddfbdaf91ade (diff) | |
download | spack-a3e3413855f5389b7cab9c7bc6126f150597b0ec.tar.gz spack-a3e3413855f5389b7cab9c7bc6126f150597b0ec.tar.bz2 spack-a3e3413855f5389b7cab9c7bc6126f150597b0ec.tar.xz spack-a3e3413855f5389b7cab9c7bc6126f150597b0ec.zip |
WarpX: Update ES and openPMD (#15611)
Update WarpX for recent developments:
- add openPMD I/O (default: ON)
- remove electro-static solver option (now a runtime option)
- enable tiny profiler by default
- depend on new CXX std support in make scripts for C++14
- WarpX only supports 2D and 3D in cartesian dims
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/warpx/package.py | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py index 7755beba9c..a729f9ac28 100644 --- a/var/spack/repos/builtin/packages/warpx/package.py +++ b/var/spack/repos/builtin/packages/warpx/package.py @@ -22,21 +22,23 @@ class Warpx(MakefilePackage): version('master', tag='master') - depends_on('mpi') - variant('dims', default='3', - values=('1', '2', '3'), + values=('2', '3'), multi=False, description='Number of spatial dimensions') variant('psatd', default=False, description='Enable PSATD solver') - variant('do_electrostatic', default=False, description='Include electrostatic solver') variant('debug', default=False, description='Enable debugging features') - variant('tprof', default=False, description='Enable tiny profiling features') + variant('tprof', default=True, description='Enable tiny profiling features') variant('openmp', default=True, description='Enable OpenMP features') + variant('openpmd', default=True, description='Enable openPMD I/O') + depends_on('mpi') depends_on('fftw@3:', when='+psatd') + depends_on('pkgconfig', type='build', when='+openpmd') + depends_on('python', type='build') # FIXME upstream + depends_on('openpmd-api@0.11.0:,dev +mpi', when='+openpmd') resource(name='amrex', git='https://github.com/AMReX-Codes/amrex.git', @@ -47,15 +49,7 @@ class Warpx(MakefilePackage): git='https://bitbucket.org/berkeleylab/picsar.git', tag='master') - @property - def build_targets(self): - if self.spec.satisfies('%clang'): - return ['CXXFLAGS={0}'.format(self.compiler.cxx11_flag)] - else: - return [] - def edit(self, spec, prefix): - comp = 'gcc' vendors = {'%gcc': 'gcc', '%intel': 'intel'} for key, value in vendors.items(): @@ -74,16 +68,17 @@ class Warpx(MakefilePackage): 'DIM = {0}'.format(int(spec.variants['dims'].value))) makefile.filter('USE_PSATD .*', 'USE_PSATD = {0}'.format(torf('+psatd'))) - makefile.filter('DO_ELECTROSTATIC .*', - 'DO_ELECTROSTATIC = %s' % torf('+do_electrostatic')) try: self.compiler.openmp_flag except UnsupportedCompilerFlag: use_omp = 'FALSE' else: use_omp = torf('+openmp') + use_openpmd = torf('+openpmd') makefile.filter('USE_OMP .*', 'USE_OMP = {0}'.format(use_omp)) + makefile.filter('USE_OPENPMD .*', + 'USE_OPENPMD = {0}'.format(use_openpmd)) makefile.filter('DEBUG .*', 'DEBUG = {0}'.format(torf('+debug'))) makefile.filter('TINY_PROFILE .*', |