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
This commit is contained in:
parent
ef814b7a32
commit
bab1852340
1 changed files with 66 additions and 19 deletions
|
@ -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 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
|
|||
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"))
|
||||
|
||||
|
@ -449,6 +487,15 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
|
|||
else:
|
||||
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
|
||||
#######################
|
||||
|
|
Loading…
Reference in a new issue