ECP 2019 Annual Meeting

In Situ Visualization and Analysis with Ascent

Date: Thursday, January 17th, 2019

Time: 8:30am - 12:00pm

Location: Champions VII


Hank Childs (University of Oregon); Matthew Larsen (Lawrence Livermore National Laboratory); Cyrus Harrison (Lawrence Livermore National Laboratory); Kenneth Moreland (Sandia National Laboratories); David Rogers (Los Alamos National Laboratory)


In situ visualization and analysis is an important capability for addressing slow I/O on modern supercomputers. With this 3-hour tutorial, we will spend the majority of our time (two hours) going into detail on Ascent, an in situ visualization and analysis library being developed by ECP ALPINE. Ascent is from the makers of ParaView Catalyst and VisIt LibSim, and it will soon be able to directly connect with both of those products. The tutorial will be practical in nature: how to integrate Ascent into a simulation code, Ascent’s data model, build and linking issues, and capabilities. The remaining hour will be spent highlighting other visualization efforts in ECP, such as in situ-specific visualization algorithms, VTK-m, and CINEMA.

Slides: http://portal.nersc.gov/project/alpine/docs/ecp_2019_ahm/

Tutorial Setup

Build and Install

To build and install Ascent yourself see Quick Start.

NERSC Cori Install

We have a public ascent install for use on NERSC’s Cori System. This install was built with the default intel compiler (

The install is located at /project/projectdirs/alpine/software/ascent/ecp_2019/ascent-install. You can copy the tutorial examples from this install and build them as follows:

cp -r /project/projectdirs/alpine/software/ascent/ecp_2019/ascent-install/examples/ascent/tutorial/ecp_2019 .
cd ecp_2019
make ASCENT_DIR=/project/projectdirs/alpine/software/ascent/ecp_2019/ascent-install/

Using Docker

If you have Docker installed you can obtain a Docker image with a ready-to-use ascent install from Docker Hub.

Fetch the latest Ascent image:

docker pull alpinedav/ascent

After the download completes, create and run a container using this image:

docker run -p 8000:8000 -p 10000:10000 -t -i alpinedav/ascent

(The -p is used to forward ports between the container and your host machine, we use these ports to allow web servers on the container to serve data to the host.)

You will now be at a bash prompt in you container.

To add the proper paths to Python and MPI to your environment run:

source ascent_docker_setup.sh

The ascent source code is at /ascent/src/, and the install is at /ascent/install-debug.

Example Program Sources

You can find the tutorial example source code and a Makefile in your Ascent install directory under examples/ascent/tutorial/ecp_2019.

Example Makefile:
Basic Example:
Conduit Examples:
Conduit Blueprint Examples:
Scene Examples:
Pipeline Examples:
Extract Examples: