Lassen (LLNL)

Platform user guide

https://hpc.llnl.gov/documentation/tutorials/using-lc-s-sierra-systems

General description

  • Resource manager - LSF

  • Launch methods (per platform ID)

    • llnl.lassen - JSRUN

  • Configuration per node (788 nodes in total)

    • 44 CPU cores (Power9), each core has 4 hardware-threads (SMT=4)

      • 4 cores are blocked for users (reserved for system processes)

    • 4 GPUs (NVIDIA Tesla V100)

    • 256 GB of memory

Note

Changing the number of hardware-threads per core available for an application could be done either with export RADICAL_SMT=1 (before running the application) or by following the steps below:

mkdir -p ~/.radical/pilot/configs
cat > ~/.radical/pilot/configs/resource_llnl.json <<EOF
{
    "lassen": {
        "system_architecture": {"smt": 1}
    }
}
EOF

Note

Lassen uses the -alloc_flags option in LSF to specify nodes features. RADICAL-Pilot allows to provide such features within a corresponding configuration file. Allowed features are: atsdisable, autonumaoff, cpublink, ipisolate. For example, follow the next steps to add some of that features:

mkdir -p ~/.radical/pilot/configs
cat > ~/.radical/pilot/configs/resource_llnl.json <<EOF
{
    "lassen": {
        "system_architecture": {"options": ["autonumaoff", "cpublink"]}
    }
}
EOF

Note

Changes in the "system_architecture" parameters can be combined.

Setup execution environment

Python virtual environment

Create a virtual environment with venv:

export PYTHONNOUSERSITE=True
module load python/3.8.2
python3 -m venv ve.rp
source ve.rp/bin/activate
pip install -U pip setuptools wheel

Install RADICAL-Pilot after activating a corresponding virtual environment:

pip install radical.pilot

Note

Lassen does not provide virtual environments with conda.

Launching script example

Launching script (e.g., rp_launcher.sh) for the RADICAL-Pilot application includes setup processes to activate a certain execution environment and launching command for the application itself.

#!/bin/sh

# - pre run -
module load python/3.8.2
source ve.rp/bin/activate

export RADICAL_PROFILE=TRUE
# for debugging purposes
export RADICAL_LOG_LVL=DEBUG

# - run -
python <rp_application>

Execute launching script as ./rp_launcher.sh or run it in the background:

nohup ./rp_launcher.sh > OUTPUT 2>&1 </dev/null &
# check the status of the script running:
#   jobs -l

Note

If you find any inaccuracy in this description, please, report back to us by opening a ticket.