version 0.6.0
Loading...
Searching...
No Matches
Notus usage on clusters

The following guidelines will help you to use Notus on various clusters.

Note
The choice of the allocated ressources for a given simulation (the number of processors asked) must be chosen carefully. Please follow the recommendations of 60,000 cells per core in 3D and 30,000 cells per core in 2D to be in the range of maximum efficiency of a parallel Notus run in full-MPI mode.

The usage of notus is described for the following computers:

  1. curta MCIA cluster website
  2. irene rome TGCC cluster website

Ssh configuration

SSH (Secure Shell) is critical for secure remote access. A well-configured SSH setup not only enhances security by using key-based authentication but also improves workflow efficiency by simplifying host aliases and file transfers.

Generating an SSH Key

Using a strong key (RSA 4096-bit) is recommended to ensure robust encryption.

ssh-keygen -t rsa -b 4096 -f mykey_clustername

Configuring SSH

Creating a configuration file **~/.ssh/config** reduces the need for long command-line options. Configuration could be:

Host curta
  HostName curta2.mcia.fr
  User username
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/mykey_clustername

Host visu01
  HostName visu01.mcia.fr
  User username
  ProxyJump myproxyserver
  ForwardX11 yes

Host rome
  HostName irene-amd-fr.ccc.cea.fr
  User username
  ProxyJump myproxyserver
  ForwardX11 yes
  ForwardX11Trusted yes

Advanced Tip of TGCC remote access: Consider using ProxyJump keyword if you need to go through a specific host to reach more secure networks.

 Copying Your Public Key

For passwordless authentication, copy your public key to the remote machine:

ssh-copy-id -i mykey username@curta2.mcia.fr

File Transfer Using scp

With the configuration :

scp curta:/scratch/username/notus_run/myfolder /home/username/destination

Without configuration:

scp username@curta2.mcia.fr:/scratch/username/notus_run/myfolder /home/username/destination

Submission scripts

SLURM is a scalable workload manager designed for clusters and HPC environments. It efficiently allocates resources and schedules jobs to maximize cluster utilization, across nodes of a computer.

You need to write a SLURM file to have access to ressources

  1. For curta MCIA cluster URL

    #!/bin/bash #SBATCH –job-name=jobname #SBATCH –time=06:00:00 #SBATCH –chdir=. #SBATCH –output=J_nameofoutputfile.out # J is job id #SBATCH –error=J_nameoferrorfile.err # J is job id #SBATCH –partition=i2m #SBATCH –nodes=8 # Nbr of node #SBATCH –tasks-per-node=32 :: tasks per node # #SBATCH –tasks=32 :: Nbr of tasks. It is another way of allocate ressources set -e NOTUS_PATH="the/path/of/your/binary/notus/file"

Load required modules

source /etc/profile.d/modules.sh module purge module load notus_third_party/0.6.0/gcc/11.2.0

Define parameters

myvar=1600

Display job information

echo "#############################" echo "User: $USER" echo "Date: $(date)" echo "Host: $(hostname)" echo "Directory: $(pwd)" echo "SLURM_JOBID: $SLURM_JOBID" echo "SLURM_SUBMIT_DIR: $SLURM_SUBMIT_DIR" echo "SLURM_JOB_NODELIST: $SLURM_JOB_NODELIST" echo "#############################" ulimit -s unlimited mpirun -np $SLURM_NTASKS ${NOTUS_PATH} -Ddouble:my_variable=$myvar –no-color – your_nts_file.nts sync exit 0

Submit a Job: sbatch submission-curta.sh

Check Job Queue : squeue -u username

Cancel a Job :

scancel JOBID

For more advanced management, consult the SLURM documentation website which provides in-depth guidance on job dependencies, advanced scheduling options, and tuning.

  1. For irene rome TGCC cluster URL

Template for job Submission my_submission.template:

#!/bin/bash
#MSUB -r XXXXX                  # Job name
#MSUB -T X                      # Elapsed time (s)
#MSUB -A gen00000               # alloc nbr
#MSUB -o PATH/log.X           # Standard output
#MSUB -e PATH/log.X           # Error output
#MSUB -q rome                   # partition
#MSUB -n X                      # Reservation of MPI processes
#MSUB -m scratch                # location


PATH_NOTUS_BIN="$HOME/notus_path/notus"
PATH_RUN=`pwd`
set -x
ulimit -s unlimited
module purge
module load datadir/gen00000 python3/3.10.6 mkl/default mpi/openmpi
cd $BRIDGE_MSUB_PWD
ccc_mprun $PATH_NOTUS_BIN --no-color $PATH_RUN/mynts.nts
exit 0

Submit a Job: ccc_msub my_submission.template

Check Job Queue : ccc_mstat -u

Cancel a Job : ccc_mdel JOBID