Running on S3DF¶
SLAC users only
S3DF, SLAC's Shared Scientific Data Facility, is reachable only with a SLAC computing account. Users elsewhere should use NERSC Perlmutter, which is the main ACE3P platform. The rest of this manual applies to both systems.
ACE3P is installed under the rfar group area and runs on the milano partition. Cubit and ParaView are installed as well; see Pre- and post-processing tools.
Log in¶
Login nodes are for editing and job submission only. Do not run solvers on them.
Load the ACE3P environment¶
Source the environment script once per session. It loads the matching OpenMPI module and puts the ACE3P binaries on your PATH.
Tip
Add the source line to your ~/.bashrc if you use ACE3P regularly.
Partitions and accounts¶
| Setting | Value | Notes |
|---|---|---|
| Partition | milano |
AMD Milan nodes, 128 cores per node |
| Account | rfar:regular |
Replace rfar with your own allocation if different |
| QOS | normal |
Non-preemptable; use preemptable for lower-priority throughput |
Check your allocations with sacctmgr show assoc user=$USER format=account,partition,qos.
A minimal batch script¶
#!/bin/bash
#SBATCH --partition=milano
#SBATCH --account=rfar:regular
#SBATCH --qos=normal
#SBATCH --nodes=1
#SBATCH --ntasks=16
#SBATCH --time=00:30:00
#SBATCH --job-name=omega3p
#SBATCH --output=%x.%j.out
#SBATCH --error=%x.%j.err
source /sdf/group/rfar/ace3p/ace3p.sh
srun --overlap --cpu-bind=none -n 16 omega3p pillbox.omega3p
Submit, monitor, and cancel with the usual Slurm commands:
Interactive sessions¶
For short tests, allocate an interactive shell on a compute node:
srun --partition=milano --account=rfar:regular -n 16 --time=01:00:00 --pty /bin/bash
source /sdf/group/rfar/ace3p/ace3p.sh
mpirun -n 16 omega3p pillbox.omega3p
Storage¶
| Location | Use |
|---|---|
$HOME |
Scripts and small inputs. Quota is limited. |
/sdf/group/rfar/<user> |
Project space for inputs and results. |
/sdf/scratch/<group>/<user> |
Large temporary output. Purged periodically. |
Temporary files
Some ACE3P tools write scratch files to $TMPDIR. If /lscratch on a node is full, set export TMPDIR=/sdf/scratch/<group>/<user>/tmp before running.
Hybrid MPI and OpenMP (Track3P)¶
Track3P is OpenMP-parallel inside each MPI rank, and every rank holds the whole mesh, so it runs best with few ranks and many threads. Request one or two ranks per node and let OpenMP fill the cores:
Complete S3DF and Perlmutter batch scripts for the hybrid layout are in Batch jobs. The field solvers (Omega3P, S3P, T3P, TEM3P) are pure MPI; run them with one rank per core.