High Performance Computing (HPC) & High-Throughput Computing (HTC)
MUST is well adapted for High-Throughput Computing (HTC). While HPC focuses on executing tightly coupled parallel jobs (often via MPI across multiple nodes) to minimize execution time for a single large task, HTC focuses on executing many independent tasks over a long period (e.g., parameter sweeps or event processing).
MUST is optimized for running these single- or multi-core applications efficiently using the HTCondor batch system.
MUST also offers a GPU platform, but does not provide dedicated multi-node HPC resources or dedicated MPI clusters.
MPI support on multicore nodes
While cross-node MPI is not supported, intranode MPI applications (where all tasks run on the same physical machine) may be run on the regular batch service with a limited number of resources:
- Standard usage: Without a specific reservation, jobs can request up to 16 cores with 3 GB of RAM per core.
- Specific reservation: Subject to validation, it is possible to request up to 128 cores with 3 GB of RAM per core.
To run a multi-core job in the standard queue, specify your resource requirements in your HTCondor submit file. For example:
executable = my_mpi_script.sh
# Pass the number of requested CPUs to the script
arguments = 16
request_cpus = 16
request_memory = 48GB
queue
Example: MPICH on AlmaLinux 9
On AlmaLinux 9 (RHEL), MPI environments are managed via Environment Modules. Here is an example of what your my_mpi_script.sh might look like to load MPICH and run your application:
#!/bin/bash
# Load the MPICH module environment for AlmaLinux 9
module load sys/mpi/mpich-x86_64
# The number of cores is passed as the first argument from HTCondor
NUM_CORES=$1
# Compile your program (if not already compiled)
# mpicc -o my_mpi_program my_mpi_program.c
# Execute the MPI program using the allocated cores
mpiexec -np $NUM_CORES ./my_mpi_program
For specific reservations for larger-scale parallel applications (up to 128 cores), please contact support-must@lapp.in2p3.fr to have your request validated.