The following guidelines will help you to use Notus on various clusters.
The usage of notus is described for the following computers:
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.
Using a strong key (RSA 4096-bit) is recommended to ensure robust encryption.
ssh-keygen -t rsa -b 4096 -f mykey_clustername
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.
For passwordless authentication, copy your public key to the remote machine:
ssh-copy-id -i mykey username@curta2.mcia.fr
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
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
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"
source /etc/profile.d/modules.sh module purge module load notus_third_party/0.6.0/gcc/11.2.0
myvar=1600
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.
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