Tutorial Setup

The tutorial examples are installed with Ascent to the subdirectory examples/ascent/tutorial/. Below are several options for using pre-built Ascent installs and links to info about building Ascent. If you have access to Docker, the easiest way to test the waters is via the alpinedav/ascent Docker image.

Tutorial Cloud Option

For in person tutorials (at Supercomputing, the ECP Annual Meeting, etc), we provide HTTP access to several instances of our Ascent Docker image running the jupyter notebook server. We hand out IP addresses and login info to attendees during these events.

Using Docker

If you have Docker installed you can obtain a Docker image with a ready-to-use ascent install from Docker Hub. This image also includes a jupyter install to support running Ascent’s tutorial notebooks.

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 8888:8888 -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_env.sh

The ascent source code is at /home/user/ascent/src/, and the install is at /home/user/ascent/install-debug/. The tutorial examples are at /home/user/ascent/install-debug/examples/ascent/tutorial/ and the tutorial notebooks are at /home/user/ascent/install-debug/examples/ascent/tutorial/ascent_intro/notebooks/.

To launch the a jupyter notebook server run:

./ascent_docker_run_jupyter.sh

This will launch a notebook server on port 8888. Assuming you forwarded port 8888 from the Docker container to your host machine, you should be able to connect to the notebook server using http://localhost:8888. The current password for the notebook server is: learn

NERSC Cori Install

We have a public ascent install for use on NERSC’s Cori System. This install was built using the default gnu compiler (8.2.0) with OpenMP and MPI support. You need to use module load gcc to build and run the installed examples.

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

#
# source helper script that loads the default gcc module, sets python paths, and ASCENT_DIR env var
#
source /project/projectdirs/alpine/software/ascent/current/cori/ascent_cori_setup_env_gcc.sh

#
# make your own dir to hold the tutorial examples
#
mkdir ascent_tutorial
cd ascent_tutorial

#
# copy the examples from the public install
#
cp -r /project/projectdirs/alpine/software/ascent/current/cori/gnu/ascent-install/examples/ascent/tutorial/* .

#
# build cpp examples and run the first one
#
cd ascent_intro/cpp
make
env OMP_NUM_THREADS=1 ./ascent_first_light_example

#
# run a python example
#
cd ..
cd python
python ascent_first_light_example.py

OLCF Summit Install

We have a public ascent install for use on OLCF’s Summit System. This install was built using the default gnu compiler (6.4.0) with OpenMP and MPI support. You need to use module load gcc to build and run the installed examples.

Warning

This install exists on a file system that is occasionally purged. We are looking for a better place to put our world accessable installs.

The install is located at /gpfs/alpine/world-shared/csc340/software/ascent/current/summit/openmp/gnu/ascent-install/. You can copy the tutorial examples from this install and use them as follows:

#
# source helper script that loads the default gcc module, sets python paths, and ASCENT_DIR env var
#
source /gpfs/alpine/csc340/world-shared/software/ascent/current/summit/ascent_summit_setup_env_gcc_openmp.sh

#
# make your own dir to hold the tutorial examples
#
mkdir ascent_tutorial
cd ascent_tutorial

#
# copy the examples from the public install
#
cp -r /gpfs/alpine/world-shared/csc340/software/ascent/current/summit/openmp/gnu/ascent-install/examples/ascent/tutorial/* .

#
# build cpp examples and run the first one
#
cd ascent_intro/cpp
make
env OMP_NUM_THREADS=1 ./ascent_first_light_example

#
# run a python example
#
cd ..
cd python
env OMP_NUM_THREADS=1 python ascent_first_light_example.py

Build and Install

To build and install Ascent yourself see Quick Start.