Notable changes to Ascent are documented in this file. This changelog started on 8/12/19 and does not document prior changes.
The format is based on Keep a Changelog, and this project aspires to adhere to Semantic Versioning.
- [email protected]
- [email protected] (requires patch 1 patch 2 )
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- Added a new unified logging infrastructure.
- Added support for unstructured topologies with mixed elements types (for example, hexs and tets).
- Added support for
pyramid
andwedge
elements. - Added
sphere
,cylinder
,box
, andplane
options to the slice filter. - Added a
topologies
option to the relay extract. This allows you to select which topologies are saved. This option can be used with the existingfields
option, the result is the union of the selected topologies and fields. - Added
near_plane
andfar_plane
to the camera details provided in Ascent::info() - Added
add_mpi_ranks
andadd_domain_ids
filters for adding rank and domain fields to a mesh - Added
transform
filter, which allows you to rotate, scale, translate, mesh coordinates
- Changed the replay utility's binary names such that
replay_ser
is nowascent_replay
andraplay_mpi
is nowascent_replay_mpi
. This will help prevent potential name collisions with other tools that also have replay utilities.
- Resolved a few cases where MPI_COMM_WORLD was used instead instead of the selected MPI communicator.
- Resolved a bug where a sharing a coordset between multiple polytopal topologies would corrupt mesh processing.
- Fixed a bug with Cinema resource output that could lead to corrupted html results.
- Fixed a bug where controls for world and screen annotations where ignored in Cinema renders.
Preferred dependency versions for [email protected]
- [email protected]
- [email protected] (requires patch )
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- 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 Uniform Grid Sampling filter.
- Added Material Interface Reconstruction (
mir
) filter which produces matset output field. - 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 a
cylinder
option to the clip filter. - Added
box
,plane
,cylinder
, andsphere
options to the Threshold filter, enabling sub selecting a mesh spatially.
- Changed the Data Binning filter to accept a
reduction_field
parameter (instead ofvar
), and similarly the axis parameters to takefield
(instead ofvar
). Thevar
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
Preferred dependency versions for [email protected]
- 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 ascent.info()
- 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.
0.9.1 - Released 2023-04-21
Preferred dependency versions for [email protected]
- 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.
build_ascent.sh
is now a unified script that supports non-device, CUDA, and HIP builds.
- Ensure ghost indicator fields survive field filtering.
0.9.0 - Released 2023-01-12
Preferred dependency versions for [email protected]
- 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/build_ascent.sh
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
, andvtkh
are now developed insrc/libs
.- Updated to VTK-m 1.9
- Update docs related to building Ascent.
- Updated to BLT v0.5.2
0.8.0 - Released 2022-02-11
Preferred dependency versions for [email protected]
- Added OCCA Derived Field Generation support
- Added more math expressions
- Added a time expression
- Added Cinema rendering support for Devil Ray
- Added
streamline
andparticle_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
- 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 paraview_ascent_source.py
- 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 ofblueprint/mesh/hdf5
- Updated Spack and Uberenv support for building on Summit
0.7.1 - Released 2021-05-20
Preferred dependency versions for [email protected]
- 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
0.7.0 - Released 2021-03-19
- 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).
0.6.0 - Released 2020-11-06
- 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
0.5.1 - Released 2020-01-31
- 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.
0.5.0 - Released 2019-11-14
- 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
andreset
actions.ascent.execute(actions)
now implicitly resets and execute the Ascent actions. To maintain a degree of backwards compatibility, usingexecute
andreset
are still passable toascent.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 toascent.execute(actions)
. - Added support for YAML
ascent_actions
andascent_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