Skip to content

Doc.Installation

Joe Latessa edited this page Apr 11, 2023 · 5 revisions

To run JETSCAPE, you will need to install several software pre-requisites, and then build JETSCAPE. Acquiring the pre-requisites using a container environment will be simpler than installing the pre-requisites manually.

Choosing Between Docker and Singularity Containers

Singularity and Docker both provide a container environment in which JETSCAPE can be installed and executed. Unlike Docker, Singularity does not require root privileges, so if the container is built on a machine where you have root access, the container can be transferred to a HPC and executed without root privileges. The advantage of using Singularity is that many HPC grids support Singularity but do not support Docker as Docker would require giving grid account users root access. If you only intend to use JETSCAPE on your local computer and your computer is a MAC, Docker would be a better choice since Singularity only runs on Linux (or Windows 10 systems via WSL2, the Windows Subsystem for Linux). If you only intend to use JETSCAPE on your local Windows 10 or Linux system, Singularity and Docker are comparable choices.

Instructions to Install and Run JETSCAPE Using Docker

We recommend to install JETSCAPE and its pre-requisites using Docker.

Instructions to Install and Run JETSCAPE Using Singularity

Another option is to install JETSCAPE and its pre-requisites using Singularity.

Instructions to Install and Run JETSCAPE Using Singularity on HPC Grid Accounts

These installation instructions were created using Wayne State University's Grid. The instructions may need to be adapted to the specific HPC system being used.

An Example Use-Case for Running HPC Batch Jobs with JETSCAPE and Singularity

Different HPC systems have their own unique features and usability requirements. This example use-case demonstrates a strategy for running JETSCAPE batch jobs with Singularity on the ISAAC Open Enclave at University of Tennessee Knoxville. These instructions will likely require adaptation for other HPC systems or specific project requirements.

Instructions to Run JETSCAPE Using a Docker Image with JETSCAPE preinstalled

The standard method to install and run JETSCAPE involves using a Docker or Singularity image with only the software dependencies installed and not JETSCAPE itself. JETSCAPE is then cloned and installed in a mounted host system directory from within the container. This is ideal for JETSCAPE development. However, if you only plan to run JETSCAPE, instructions to use a Docker image with JETSCAPE preinstalled are provided here.

Manual Installation (not recommended)

Please see the instructions here.

External packages

To run certain external software (MUSIC, CLVisc, SMASH), you will need to explicitly download them, and you may need to re-run cmake with specific command-line options. Scripts to download and install the external packages are provided in external_packages/. Please see external packages for full details.

The available cmake options are:

cmake .. -DUSE_MUSIC=ON -DUSE_ISS=ON -DUSE_FREESTREAM=ON -DUSE_SMASH=ON -DUSE_CLVISC=ON