Myria calculator user guide¶
If you are new to the HPC environment, we recommend that you read the detailed version at format PDF. Otherwise, please read at least the first two paragraphs of the summary documentation before contacting support.
Connection, environment and workspaces¶
The connection is done in SSH to the frontals grouped under the name myria.criann.fr
.
Command line syntax : ssh monlogin@myria.criann.fr
(by replacing mylogin
with your login). Linux and Mac environments natively integrate the SSH protocol through the terminal. If you are under Windows environment, we recommend you to use the software MobaXTerm which will bring you a complete working environment based on the ssh protocol (screen export, file transfer).
The first time you log in, you are prompted to change your password. Read carefully what is asked: (current) Password
is the current password and not the new one you want...
Customizations (environment variables, aliases) are done with a ~/.bash_profile
(not ~/.bashrc
) to create.
The user has a personal workspace in /home
.
By default a user disk quota is set to 50 GB in /home
; the command mmlsquota gpfs1:home
provides the quota and the space the user occupies in the /home
partition.
We encourage you to compute in the temporary scratch folders (/dlocal/run/<jobid>
) created by the Slurm batch tool for each job. A quota of 10 million files is applied to the /dlocal
tree; the mmlsquota gpfs1:dlocal
command provides the quota and the number of files you own in the /dlocal/run
folder.
If you feel that these limits (quotas) are too restrictive for you, do not hesitate to open a ticket with the support. These limits can be increased upon justified request.
For more information about this workspace and recommended commands for managing your files, see this page.
Data transfers¶
For the transfer of significant amounts of data between Myria and the outside world, the myria-transfert.criann.fr server should be preferred because it is connected to the SYVIK network via a 40 Gbit/s interface.
This machine gives access to the same /home
directory as the front ends. The connection identifiers on myria-transfert.criann.fr are the same as on myria.criann.fr.
Transfers between Myria and IDRIS resources are only allowed through myria-transfer.criann.fr.
Firewall¶
If your structure has a firewall limiting the outgoing flows of your site, here are the ports to open:
- SSH connections (port 22) to the 4 front-ends behind the name myria.criann.fr
- IPv4 : 195.221.27.66 (myria-front1.criann.fr) to 195.221.27.69 (myria-front4.criann.fr)
- IPv6 : 2001:660:7401:273::66 (myria-front1.criann.fr) to 2001:660:7401:273::69 (myria-front4.criann.fr)
- SSH connections (port 22) to the data transfer node
- IPv4 : 195.221.27.70 (myria-transfert.criann.fr)
- IPv6 : 2001:660:7401:273::70 (myria-transfert.criann.fr)
Concerning the remote visualization sessions, to know the IP and the ports to open, please contact the support by mail at support@criann.fr
Available software¶
Most of the submission script templates for the following software are available in the directory /soft/slurm/criann_modeles_scripts
.
If not, contact support@criann.fr (same as for requesting new software).
Application and library environments are accessed by modules (see the module avail
, module help
commands and the general documentation on modules).
Commercial software_ (license to be taken by the user)
- CFD/Mechanics : ANSYS Fluent, StarCCM+, FINE/Marine, Hyperworks
Free software
- Fluid mechanics :
- FDS 5.5.0 (incendies)
- Telemac v7p1r1, v8p1r1, v8p2r0 and v8p3r1
- Code_Saturne 5.0.7 and 6.1.1
- OpenFOAM 2.3.0, 2.4.0, 3.0.1, 3.0.x, 4.x-version-4.0, 4.x-version-4.1, 5.x-version-5.0, 5.x-20171030, 6-version-6, 6-20190304, 7-version-7, 8-version-8, 10-version-10, 1606+, 1612+, 1706, 1712, 1806, 1812, 1906, 1912, 2006, 2012, 2106, 2112, 2206 and 2212
- Foam-extend 3.2 and 4.0
- Delft3d4 6.03.00.141173
- Mechanics of structures :
- Castem 2016, 2017, 2019 and 2021
- Code_Aster 11.6.0 serial, 13.4.0 serial, 14.2.0_testing ("stabilized development version") serial and parallel (MPI), 14.6.0 serial
- Salome-Meca 2017.0.2
- LMGC90/user_2019_rc1
- Chemistry :
- GAMESS 2013 and 2016
- Dalton 2018
- Psi4
- Cfour v1
- Open Babel 3.0.0
- Molecular dynamics :
- GROMACS 5.1.4, 2019.2, 2020.4, 2021.1 and 2022.1 (Plumed patch or not)
- NAMD 2.9 (patch Plumed), 2.12, 2.13 (Plumed patch or not) and 2.14
- DL_POLY_CLASSIC 1.9
- LAMMPS 7Aug19 and 7Jan2022
- OpenMolcas 19.11
- Quantum Espresso 6.5
- Climate : WRF 3.7.1, 3.9, 3.9.1 and 4.3
- Ocean : Croco v1.1
- Geodynamics :
- SPECFEM2D 2018
- SPECFEM3D 2021
- Mathematics :
- Octave 3.8.2 and 4.2.1
- R 3.3.2, 3.5.1, 3.5.2, 4.0.2, 4.0.3, 4.0.5, 4.1.1 and 4.1.2
- Scilab 5.5.2 and 6.0.1
- IA – Deep Learning : one page is dedicated to the installed software library
Software under academic license
- Quantum chemistry :
- GAUSSIAN 03
- Shrödinger JAGUAR 8.0 and 9.4
- Molecular dynamics : Shrödinger Desmond 2016.3
Software for visualization or pre/post-processing
- Gmsh 2.16.0 and 4.5.1
- Neper 3.0.1
- Triangle 1.6
- ParaView 4.0.1, 5.2.0, 5.4.1, 5.6.0, 5.7.0 and 5.9.0
- Salome 7.8.0 and 8.5.0
- Visit 2.12.1 and 2.12.3
- Blender 2.76b and 2.79b
- ffmpeg 4.1
- Helix-OS
- XCrysDen 1.6.2
- VMD 1.9.3
Compilation¶
Intel's MPI compiler and library environments, version 2017, are enabled by default (type module list
).
MPI codes are compiled using the commands mpiifort
(FORTRAN), mpiicc
(C, 2 "i" in the name of this command), mpiicpc
(C++).
The optimization option for the general-purpose (Broadwell) processor architecture is -xCORE-AVX2
(for compiling on a frontend, or batch in a non-knl partition, the -xHost
option is equivalent).
The optimization option for the manycore Xeon Phi KNL processor architecture is -xMIC-AVX512
.
The generation of an optimized executable for both Broadwell and KNL architectures is possible, with the -axCORE-AVX2,MIC-AVX512
option.
Examples of optimization option sets for Broadwell, in order of increasing aggressiveness
-O2 -xCORE-AVX2
-O3 -xCORE-AVX2 -fp-model precise
-O3 -xCORE-AVX2
Example of an optimization option set for KNL
-O3 -xMIC-AVX512
Example of debugging options
-O2 -g -traceback -check all
Sample Makefiles are provided in /soft/makefiles
.
The modules environment facilitates the compilation of applications linked to the available libraries.
Submission environment (Slurm)¶
The directory /soft/slurm/criann_modeles_scripts
contains the generic submission scripts (sequential code, OpenMP, MPI, hybrid, KNL, GPU) or application specific.
Memory¶
It is advisable to use Slurm's #SBATCH --mem
directive, specifying the memory demand per compute node (rather than memory per reserved core, --mem-per-cpu
).
If a parallel computation needs more than 4300MB of memory per MPI task, the standard Myria compute nodes must be depopulated by adding the directive #SBATCH --ntasks-per-node
in the submission script.
For example, the following settings require a total of 140 MPI jobs with, per standard compute node (server), 14 MPI jobs and 120000 MB of memory (since these servers have 28 cores each, half of the compute units will be used but all RAM will be available):
# Partition (submission class)
#SBATCH --partition 2tcourt
# MPI tasks number
#SBATCH --ntasks 140
# MPI tasks per compute node
#SBATCH --ntasks-per-node 14
# Maximum memory per compute node (MB)
#SBATCH --mem 120000
Commands¶
This table provides useful commands for submitting jobs.
Action | Commande |
---|---|
Calculator load | slurmtop -f - |
Characteristics of the partitions (classes) | sinfo |
Submit a job | sbatch script_soumission.sl |
Submit a job in "hold" | sbatch -H script_soumission.sl |
Release a job in "hold" (waiting) | scontrol release job_id |
List all jobs | squeue |
List your own jobs | squeue -u login |
Displaying the characteristics of a job | scontrol show job job_id |
Predicting when a job will be queued | squeue --start --job job_id |
Syntax checking and scheduling of a job without submitting it | sbatch --test-only script_soumission.sl |
Forecasting the schedule of its own work | squeue -u login --start |
Killing a job | scancel job_id |
Environment variables¶
The following utility variables (non-exhaustive list) can be used in the user commands (Shell) of a submission script.
Variable name | Value |
---|---|
$SLURM_JOB_ID | Job identification (example: 64549) |
$SLURM_JOB_NAME | Job name (specified by #SBATCH -J ) |
$SLURM_SUBMIT_DIR | Name of the initial directory (in which the sbatch command was launched) |
$SLURM_NTASKS | Number of job MPI processes |
$LOCAL_WORK_DIR | Name of the temporary scratch directory based on the job number: /dlocal/run/$SLURM_JOB_ID . This folder is deleted 45 days after the end of the job. |
Partitions (submission classes)¶
The partitions use the 368 Broadwell dual-socket nodes (10,304 cores), the 10 Xeon Phi KNL nodes (640 cores) and the SMP node (256 cores).
The number of compute nodes accessed by jobs in different partitions is given below as a guide. Administrators sometimes adjust the size of these "firing windows" slightly depending on the observed load. On the other hand, the per-computation limits generally remain constant. In any case, these limits are not modified without an announcement to the users' mailing list.
Note: The reproducibility of an application's performance on the cluster can be enhanced by applying the #SBATCH --exclusive
directive in the submission script, which enforces the execution of the submitted job on a set of unshared nodes. This directive is advisable for multi-node MPI production jobs, recommended for performance testing.
For production or scientific development jobs, in the particular case of sequential applications, it is preferable not to apply this directive (so as not to monopolize a compute node).
The partition is specified by the submission script with the #SBATCH --partition
directive (or in the command line: sbatch --partition 2tcourt script_submission.sl
)
Debugging jobs
This partition contains all servers equipped with the Xeon Broadwell processor.
Partition | Maximum duration | Available nodes | Limits by job | Hints |
---|---|---|---|---|
debug | 0 h 30 | 363 nodes | 5 nodes (140 cores and 585 GB / 28 cores and 1 TB of memory) | One of the 363 servers associated with this partition is equipped with 1 TB of memory |
Work on standard architecture (Broadwell)
The partitions are defined according to the resource quantities requested.
Partition | Maximum duration | Available nodes | Limits by job | Hints |
---|---|---|---|---|
2tcourt | 12 h | 332 nodes | 75 nodes during the week (2100 cores and 9600 GB of memory) 150 nodes during the weekend (*) (4200 cores and 19200 GB of memory) | #SBATCH --mem 120000MB for MPI or OpenMP entire node(s) |
tcourt | 24 h | 322 nodes | 75 nodes (2100 cores and 9600 GB of memory) | #SBATCH --mem 120000MB for MPI or OpenMP entire node(s) |
court | 48 h | 100 nodes | 20 nodes (560 cores and 2560 GB of memory) | #SBATCH --mem 120000MB for MPI or OpenMP entire node(s) |
long | 100 h | 50 nodes | 10 nodes (280 cores ans 1280 GB of memory) | #SBATCH --mem 120000MB for MPI or OpenMP entire node(s) |
tlong | 300 h | 15 nodes | 2 nodes (56 cores ans 256 GB of memory) | #SBATCH --mem 120000MB for MPI or OpenMP entire node(s) |
tcourt_intra | 24 h | 134 nodes | 1 nœud (28 cores ans 128 GB of memory) | #SBATCH --mem 120000MB for MPI or OpenMP entire node |
(*) Weekend schedule starts on Friday evening at 5 pm and ends on Sunday evening at 8 pm. During this period, the total number of cores used by a user can reach 4200 cores, thus allowing a job in the 2tcourt partition up to 4200 cores.
Jobs on specific architectures
Partitions match the type of the targeted architecture.
Partition | Maximum duration | Available nodes | Limites par calcul | Conseils |
---|---|---|---|---|
disque | 300 h | 13 nodes (Broadwell) (including 12 to 128 GB and 1 to 1 TB of memory) | 28 cores and 1TB of memory ( #SBATCH --mem 1016GB ) | Scratch local disk (not shared in network) : $LOCAL_SCRATCH_DIR |
smplarge | 3 h | Full SMP server (Haswell) | 256 cores and 3.99 TB of memory | #SBATCH --mem 4090GB (available) |
smplong | 72 h | Half SMP server (Haswell) | 128 cores and 2TB of memory | #SBATCH --exclusive forbidden #SBATCH --mem 2045GB (available) |
knl | 100 h | 10 nodes (KNL) | 4 nodes (256 cores and 384GB of memory) | #SBATCH --mem 89000MB for MPI or OpenMP entire node(s) |
gpu_k80 | 48 h | 9 nodes (Broadwell) (with Kepler K80 GPUs) | 8 nodes (224 cores and 1024GB of memory) | |
gpu_p100 | 48 h | 9 nodes (Broadwell) (with Pascal P100 GPUs) | 8 nodes (224 cores and 1024 GB of memory) | |
gpu_v100 | 48 h | 5 knots (SkyLake) (with Volta V100 GPUs) | 5 nodes (160 cores and 900 GB of memory) | |
gpu_all | 48 h | 18 nodes (Broadwell) (with K80 or P100 GPUs) | 1 node (28 cores and 128 GB of memory) | |
gpu_court | 4 h | 4 nodes (Broadwell) (with K80 GPUs) | 1 node (28 cores and 128 GB of memory) | |
visu | 6 h | 2 nodes (Broadwell) with 256 GB RAM | 8 cores and 128 GB of memory | |
visu2 | 6 h | 2 nodes (Broadwell) with 128 GB RAM | 8 cores and 128 GB of memory |
The disk partition should be specified for write-intensive chemistry applications. See the submission file templates in /soft/slurm/criann_modeles_scripts
:
job_Gamess2013.sl
job_Gamess2016.sl
job_Jaguar-8.0.sl
job_Jaguar-9.4.sl
job_Gaussian03.sl
GPGPU¶
A description of how to submit GPU jobs is available.
One paragraph is for users who need to compile or run multi-GPU applications (for the CUDA aware MPI case) on the V100-SXM2 architecture from Myria.
KNL¶
Servers with a Xeon Phi KNL processor have several configurations (clustering and fast on-board memory modes).
The KNL documentation page describes these configurations and the Slurm guidelines for specifying them for jobs.
Remote visualization¶
A specific documentation for visualization jobs is available.
Management of signals sent by Slurm¶
A specific documentation for catching and processing signals sent by Slurm is available.
Supplements¶
The detailed documentation in PDF format (paragraphs "Bonnes pratiques de soumission" and "Exécution des travaux : aspects avancés") provides useful information:
- Ratio of resource consumption (e.g. memory) per job
- Multi-step jobs (e.g. pre-processing, solver and post-processing) and dependencies between jobs.
- Consideration of network topology for MPI communication performance
- Optimal placement of parallel processes in a job for performance (when using depopulated compute nodes)
Tracking hourly consumption¶
From the frontend nodes, the maconso
command displays your consumption as well as that of the project. If you are a project manager or deputy manager maconso -u
shows the details for all accounts.
This information is also available in JSON format in the file ~/.acct_myria.json
.
The consumption is updated every night.