Ascent and its dependencies are under rapid development. Because of this we recommend using our develop branch, which we aim to keep buildable via continuous integration testing. See our Quick Start Guide for info on how to build Ascent and its dependencies.

Source distributions for Ascent are hosted on github:


  • Released 2024-05-12

  • Source Tarball

  • Docker Containers
    • alpinedav/ascent:0.9.3

    • alpinedav/ascent-jupyter:0.9.3


(Extracted from Ascent’s Changelog)

Preferred dependency versions for ascent@0.9.3


  • Added a uniform grid resampling filter.

  • Added refinement_level option to Relay Extract. When used this will refine high order meshes to a low order representation and save the low order result as the extract data.

  • Added parameters to control HDF5 compression options to the Relay Extract.

  • Added check to make sure all domain IDs are unique

  • Added a vtk extract that saves each mesh domain to a legacy vtk file grouped, with all domain data grouped by a .visit file.

  • Added particle advection for streamline and related rendering support.

  • Added WarpX Streamline filter that uses charged particles.

  • Added seed population options for particle advection: point, point list, line, and box

  • Added more Ascent tutorial examples

  • Added support for implicit points style Blueprint input meshes

  • Added actions for shell commands and simulation code function callbacks

  • Added box, plane, cylinder, and sphere options to the Threshold filter, enabling sub selecting a mesh spatially.


  • Changed the Data Binning filter to accept a reduction_field parameter (instead of var), and similarly the axis parameters to take field (instead of var). The var style parameters are still accepted, but deprecated and will be removed in a future release.

  • Changed the Streamline and WarpXStreamline filters to apply the VTK-m Tube filter to their outputs, allowing for the results to be rendered.

  • Updated CMake Python build infrastructure to use


  • Various small bug fixes


  • Released 2023-06-30

  • Source Tarball

  • Docker Containers
    • alpinedav/ascent:0.9.2

    • alpinedav/ascent-jupyter:0.9.2


(Extracted from Ascent’s Changelog)

Preferred dependency versions for ascent@0.9.2


  • Automatic camera placement render that uses different types of entropy (data, depth, shading).

  • Scene/Render option to manually position color bars

  • Added in-memory conduit extract, which allows mesh data to be accessed via

  • Added examples that demonstrate how to use Ascent via the Catalyst Conduit Interface.


  • Updated Ascent to use VTK-m 2.0

  • Added C++ Ascent::info() method that returns a reference to execution info in addition the existing info() method that provides copy out semantics.


  • Released 2023-04-22

  • Source Tarball

  • Docker Containers
    • alpinedav/ascent:0.9.1

    • alpinedav/ascent-jupyter:0.9.1


(Extracted from Ascent’s Changelog)

Preferred dependency versions for ascent@0.9.1


  • Added support for building and running on Windows.

  • Added runtime control option (in addition to existing compile time option) to Devil Ray stats.

  • Added CI testing for building Ascent and required third-party libs on Windows.


  • Devil Ray stats are now opt in, instead of opt out to avoid accumulating memory.

  • is now a unified script that supports non-device, CUDA, and HIP builds.


  • Ensure ghost indicator fields survive field filtering.


  • Released 2023-01-27

  • Source Tarball

  • Docker Containers
    • alpinedav/ascent:0.9.0

    • alpinedav/ascent-jupyter:0.9.0


(Extracted from Ascent’s Changelog)

Preferred dependency versions for ascent@0.9.0


  • Added support for HIP and running on AMD GPUs

  • Added RAJA expressions infrastructure

  • Added pipeline partition transform from Conduit Blueprint

  • Added extract flatten from Conduit Blueprint

  • Added Log base 10 filter. Filter type is log10

  • Added Log base 2 filter. Filter type is log2

  • Added Feature Map in the docs. Detailing Devil Ray and VTKh features

  • Added scripts/build_ascent/ a script that demonstrates how to manually build Ascent and its main dependencies

  • Added ability to override dimensions for the rendered bounding box around a dataset

  • Added CMake option ENABLE_HIDDEN_VISIBILITY (default=ON), which controls if hidden visibility is used for private symbols

  • Added documentation for how to use ROCm’s rocprof profiler for GPUs with Ascent

  • Added support for Caliper performance annotations

  • Added automatic slice filter that evaluates a number of slices and outputs the one with the highest entropy


  • The Great Amalgamation - The VTK-h, Devil Ray, and AP Compositor projects are now developed in Ascent’s source instead of separate repos. These external repos for these projects are archived. This reorg simplifies the development and support of these tightly coupled capabilities. Ascent 0.9.0 will be the first release using these internal versions.

  • apcomp, dray, flow, rover, and vtkh are now developed in src/libs.

  • Updated to VTK-m 1.9

  • Update docs related to building Ascent.

  • Updated to BLT v0.5.2


  • Released 2022-02-11

  • Source Tarball

  • Docker Containers
    • alpinedav/ascent:0.8.0

    • alpinedav/ascent-jupyter:0.8.0


(Extracted from Ascent’s Changelog)

Preferred dependency versions for ascent@0.8.0


  • Added OCCA Derived Field Generation support

  • Added more math expressions

  • Added a time expression

  • Added Cinema rendering support for Devil Ray

  • Added streamline and particle_advection transforms

  • Added history gradient expressions

  • Added the ability save named sessions

  • Added new options to specify Cinema rendering parameters

  • Added the ability save subsets of expression results to session files

  • Added the ability to add comments to PNG files that Ascent creates

  • Added timings out control option to Ascent (and Flow)

  • Added support to render Polygonal nd Polyhedral Meshes

  • Added option to turn of world annotations

  • Added FIDES Support

  • Added Spack and Uberenv support for building on Perlmutter


  • Fixed a bug where ascent timings files were written out twice

  • Fixed a bug where the relay extract protocol was always hdf5, regardless of what was requested

  • Various fixes to


  • Python CMake detection logic now prefers Python 3

  • Changed Ascent’s C-API to use Conduit’s C-API object helper methods

  • CMake, Spack, and uberenv changes to support newer versions of Cuda, CMake, etc

  • Updated to use VTK-m 1.7.0

  • Make Ascent Webserver support optional, linked to if Conduit Relay Web support exists

  • Simplified the relay extract protocol params, for example can now use hdf5 instead of blueprint/mesh/hdf5

  • Updated Spack and Uberenv support for building on Summit



(Extracted from Ascent’s Changelog)

Preferred dependency versions for ascent@0.7.1


  • Added Data Binning examples to the Ascent Intro Tutorial


  • Fixed an issue with the Data Binning bin calculation logic


  • Updated Ascent to use new conduit, dray, and vtk-h versions



(Extracted from Ascent’s Changelog)


  • Added partial failure tolerance (i.e., if there are multiple plots the failure of one doesn’t prevent the others from rendering)

  • Added the ability to use expressions as parameters to filters, e.g., iso contour value = "(max(field('density')) - min(field('density)) / 2")

  • Added orthogonal projections for scalar images (projecting onto a 2d plane)

  • Added a triangulate transform

  • Added option to build Ascent with only Devil Ray support


  • Fixed a MPI hang if actions files (yaml or json) fail to parse

  • Fixed several minor issues with saving and reading Mesh Blueprint file sets

  • Fixed a field association bug with Data Binning

  • Fixed a 2D AMR mesh rendering issue


  • To better support installs that are relocated on the file system, Cinema database file resources are now compiled into the Ascent library.

  • Updated to use Babelflow (1.0.1) and Parallel Merge Tree (1.0.2).



(Extracted from Ascent’s Changelog)


  • Added support for Devil Ray (high-order) ray tracer

  • Added vector operations * composite vector (create vector from three scalars) * vector component (extract scalar component)

  • Allow no refinement for high-order meshes

  • Added support for multiple topologies (e.g., volume and particles in the same mesh)

  • Added support for AMR Nesting relationships (Blueprint Nestsets)

  • Added optional num_files parameter to the Relay Extract. See the [Relay Extract Docs]( for more details.

  • Added an AscentViewer Widget for Jupyter

  • Added new CUDA device link logic to help bottle CUDA dependencies for downstream use

  • Added support for exa prefix style filters


  • Modified Cinema output so it can be viewed without a webserver

  • Removed default behavior of publishing individual vector components when vectors were three separate arrays. This can be achieved by using the vector component filter

  • Changed Docker Images to leverage Jupyter lab

  • Tutorial updates

  • Rendering improvements



(Extracted from Ascent’s Changelog)


  • Added support to render multiple topologies in the same scene.

  • Added a Data Object construct to the main Ascent runtime to easily manage transformations between in-memory mesh representations.


  • Issue where cycle was not properly propagated when converting mfem data.

  • Cinema issue where zoom was applied additively each cycle to oblivion.

  • Cinema issue where cameras were not following the center of the data set.



(Extracted from Ascent’s Changelog)


  • Added new Tutorial Content including C++, Python, and Python-based Jupyter Notebook examples.

  • Added docs for Queries and Triggers

  • Added a Jupyter Extract that provides interactive Python Notebook access to published mesh data. See the related Cloverleaf Demo.

  • Deprecated the execute and reset actions. ascent.execute(actions) now implicitly resets and execute the Ascent actions. To maintain a degree of backwards compatibility, using execute and reset are still passable to ascent.execute(actions). Internally, the internal data flow network will only be rebuilt when the current actions differ from the previously executed actions. Note: this only occurs when the Ascent runtime object is persistent between calls to ascent.execute(actions).

  • Added support for YAML ascent_actions and ascent_options files. YAML files are much easier for humans to compose

  • Add a relative offset option to the Slice filter.


  • Several improvements to Ascent’s Expression infrastructure.

  • Updated our uberenv-based to use a 2019/11 version of spack develop.

  • Improved Python error handling and propagation.

  • Updated Docker example to build with Jupyter Notebook support.

  • Updated to VTK-m 1.5.0 and associated VTK-h.

  • Imposed necessary static build constraints for cuda support.


  • Several minor bug fixes


The fourth release of Ascent.


The third release of Ascent.


The second release of Ascent.


The initial release of Ascent.