summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrus Harrison <cyrush@llnl.gov>2020-07-18 06:53:48 -0700
committerGitHub <noreply@github.com>2020-07-18 08:53:48 -0500
commitbab18523402d610a7cddd7e7c59c95fe4cfe5ff6 (patch)
treea08e9d1aa24d54d60185ad4f405c4a40bcfa1c5f
parentef814b7a32617e62257ca93ebc3726d79324e619 (diff)
downloadspack-bab18523402d610a7cddd7e7c59c95fe4cfe5ff6.tar.gz
spack-bab18523402d610a7cddd7e7c59c95fe4cfe5ff6.tar.bz2
spack-bab18523402d610a7cddd7e7c59c95fe4cfe5ff6.tar.xz
spack-bab18523402d610a7cddd7e7c59c95fe4cfe5ff6.zip
update ascent package with recent ver dep logic, and dray support (#17502)
* update ascent package with recent ver dep logic, and dray support * update pmt name, make babelflow logic dep on mpi
-rw-r--r--var/spack/repos/builtin/packages/ascent/package.py85
1 files changed, 66 insertions, 19 deletions
diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py
index 3b45c69694..158f76f298 100644
--- a/var/spack/repos/builtin/packages/ascent/package.py
+++ b/var/spack/repos/builtin/packages/ascent/package.py
@@ -35,22 +35,21 @@ class Ascent(Package, CudaPackage):
homepage = "https://github.com/Alpine-DAV/ascent"
git = "https://github.com/Alpine-DAV/ascent.git"
- url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.0/ascent-v0.5.0-src-with-blt.tar.gz"
+ url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.1/ascent-v0.5.1-src-with-blt.tar.gz"
maintainers = ['cyrush']
version('develop',
branch='develop',
- submodules=True)
-
- version('0.5.0', sha256='2837b7371db3ac1bcc31a479d7cf0eb62a503cacadfa4187061502b3c4a89fa0')
+ submodules=True,
+ preferred=True)
###########################################################################
# package variants
###########################################################################
variant("shared", default=True, description="Build Ascent as shared libs")
- variant("test", default=True, description='Enable Ascent unit tests')
+ variant('test', default=True, description='Enable Ascent unit tests')
variant("mpi", default=True, description="Build Ascent MPI Support")
variant("serial", default=True, description="build serial (non-mpi) libraries")
@@ -68,11 +67,15 @@ class Ascent(Package, CudaPackage):
variant("cuda", default=False, description="Build cuda support")
variant("mfem", default=False, description="Build MFEM filter support")
variant("adios", default=False, description="Build Adios filter support")
+ variant("dray", default=False, description="Build with Devil Ray support")
# variants for dev-tools (docs, etc)
- variant("doc", default=False, description="Build Conduit's documentation")
+ variant("doc", default=False, description="Build Ascent's documentation")
- ###########################################################################
+ # variant for BabelFlow runtime
+ variant("babelflow", default=False, description="Build with BabelFlow")
+
+ ##########################################################################
# package dependencies
###########################################################################
@@ -102,29 +105,54 @@ class Ascent(Package, CudaPackage):
depends_on("mpi", when="+mpi")
depends_on("py-mpi4py", when="+mpi+python+shared")
+ #######################
+ # BabelFlow
+ #######################
+ depends_on('babelflow@develop', when='+babelflow+mpi')
+ depends_on('parallelmergetree@develop', when='+babelflow+mpi')
+
#############################
# TPLs for Runtime Features
#############################
- depends_on("vtk-h@0.5.0", when="+vtkh")
- depends_on("vtk-h@0.5.0~openmp", when="+vtkh~openmp")
- depends_on("vtk-h@0.5.0+cuda+openmp", when="+vtkh+cuda+openmp")
- depends_on("vtk-h@0.5.0+cuda~openmp", when="+vtkh+cuda~openmp")
+ depends_on("vtk-h", when="+vtkh")
+ depends_on("vtk-h~openmp", when="+vtkh~openmp")
+ depends_on("vtk-h+cuda+openmp", when="+vtkh+cuda+openmp")
+ depends_on("vtk-h+cuda~openmp", when="+vtkh+cuda~openmp")
- depends_on("vtk-h@0.5.0~shared", when="~shared+vtkh")
- depends_on("vtk-h@0.5.0~shared~openmp", when="~shared+vtkh~openmp")
- depends_on("vtk-h@0.5.0~shared+cuda", when="~shared+vtkh+cuda")
- depends_on("vtk-h@0.5.0~shared+cuda~openmp", when="~shared+vtkh+cuda~openmp")
+ depends_on("vtk-h~shared", when="~shared+vtkh")
+ depends_on("vtk-h~shared~openmp", when="~shared+vtkh~openmp")
+ depends_on("vtk-h~shared+cuda", when="~shared+vtkh+cuda")
+ depends_on("vtk-h~shared+cuda~openmp", when="~shared+vtkh+cuda~openmp")
# mfem
- depends_on("mfem+threadsafe+shared+mpi+conduit", when="+shared+mfem+mpi")
- depends_on("mfem+threadsafe~shared+mpi+conduit", when="~shared+mfem+mpi")
+ depends_on("mfem~threadsafe~openmp+shared+mpi+conduit", when="+shared+mfem+mpi")
+ depends_on("mfem~threadsafe~openmp~shared+mpi+conduit", when="~shared+mfem+mpi")
- depends_on("mfem+threadsafe+shared~mpi+conduit", when="+shared+mfem~mpi")
- depends_on("mfem+threadsafe~shared~mpi+conduit", when="~shared+mfem~mpi")
+ depends_on("mfem~threadsafe~openmp+shared~mpi+conduit", when="+shared+mfem~mpi")
+ depends_on("mfem~threadsafe~openmp~shared~mpi+conduit", when="~shared+mfem~mpi")
depends_on("adios", when="+adios")
+ # devil ray variants with mpi
+ # we have to specify both because mfem makes us
+ depends_on("dray@develop+mpi~test~utils+shared+cuda", when="+dray+mpi+cuda+shared")
+ depends_on("dray@develop+mpi~test~utils+shared+openmp", when="+dray+mpi+openmp+shared")
+ depends_on("dray@develop+mpi~test~utils+shared~openmp~cuda", when="+dray+mpi~openmp~cuda+shared")
+
+ depends_on("dray@develop+mpi~test~utils~shared+cuda", when="+dray+mpi+cuda~shared")
+ depends_on("dray@develop+mpi~test~utils~shared+openmp", when="+dray+mpi+openmp~shared")
+ depends_on("dray@develop+mpi~test~utils~shared~openmp~cuda", when="+dray+mpi~openmp~cuda~shared")
+
+ # devil ray variants without mpi
+ depends_on("dray@develop~mpi~test~utils+shared+cuda", when="+dray~mpi+cuda+shared")
+ depends_on("dray@develop~mpi~test~utils+shared+openmp", when="+dray~mpi+openmp+shared")
+ depends_on("dray@develop~mpi~test~utils+shared~openmp~cuda", when="+dray~mpi~openmp~cuda+shared")
+
+ depends_on("dray@develop~mpi~test~utils~shared+cuda", when="+dray~mpi+cuda~shared")
+ depends_on("dray@develop~mpi~test~utils~shared+openmp", when="+dray~mpi+openmp~shared")
+ depends_on("dray@develop~mpi~test~utils~shared~openmp~cuda", when="+dray~mpi~openmp~cuda~shared")
+
#######################
# Documentation related
#######################
@@ -398,6 +426,16 @@ class Ascent(Package, CudaPackage):
else:
cfg.write(cmake_cache_entry("MPIEXEC",
mpiexe_bin))
+
+ ###################################
+ # BABELFLOW (also depends on mpi)
+ ###################################
+ if "+babelflow" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_BABELFLOW", "ON"))
+ cfg.write(cmake_cache_entry("BabelFlow_DIR",
+ spec['babelflow'].prefix))
+ cfg.write(cmake_cache_entry("PMT_DIR",
+ spec['parallelmergetree'].prefix))
else:
cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
@@ -450,6 +488,15 @@ class Ascent(Package, CudaPackage):
cfg.write("# mfem not built by spack \n")
#######################
+ # Devil Ray
+ #######################
+ if "+dray" in spec:
+ cfg.write("# devil ray from spack \n")
+ cfg.write(cmake_cache_entry("DRAY_DIR", spec['dray'].prefix))
+ else:
+ cfg.write("# devil ray not built by spack \n")
+
+ #######################
# Adios
#######################