Sites
A site is a machine where a pipeline is to be run. Ceci currently only supports running a pipeline at a single site, not splitting it up between them.
Three sites are currently supported: local, nersc-batch, and nersc-interactive.
See also the Launchers page for how to configure the manager that runs the pipeline.
Common Options
All sites have these global options:
site:
name: local
mpi_command: mpirun -n # optional
image: "" # optional
volume "" # optional
mpi_command sets the name of the command used to launch MPI jobs. Its default depends the site.
image sets the name of a docker/shifter container in which to run jobs. It defaults to None, meaning not to use a container.
volume sets an option to pass to docker/shifter to mount a directory inside the container. It takes the form /path/on/real/machine:/path/inside/container
Local
The local site is a general one and represents running in a straightforward local environment. Jobs are run using the python subprocess module.
site:
name: local
max_threads: 2 # optional
max_threads is optional and controls the maximum number of stages run at the same time. Its default depends on the launcher used.
NERSC Interactive
The nersc-interactive site is used to run jobs interactively on NERSC compute nodes. You should first use the salloc command to get an interactive allocation, and then within that run ceci.
There are no additional options for the nersc-interactive site: the number of parallel stages is given by the number of nodes that you ask for in salloc.
NERSC Batch
The site nersc-batch runs on the Perlmutter supercomputer at NERSC, and submits jobs to the SLURM batch system. In this mode, you should call ceci from the login node and stay logged in while the jobs run.
These options can be used for the nersc-batch site:
launcher:
name: nersc-interactive
queue: debug # optional
max_jobs: 2 # optional
account: m1727 # optional
walltime: 00:30:00 # optional
queueis optional and controls which SLURM queue jobs are launcher on. It can bedebug,regular, orpremium. See the nersc documentationfor a description of each.
max_jobs is optional and controls the maximum number of SLURM jobs submitted using sbatch.
account is optional and controls the name of the account to which to charge SLURM jobs. You need to be a member of the associated project to use an account.
walltime is optional and controls the amount of time allocated to each SLURM job.
setup is optional and selects a script to be run at the start of each SLURM job.