User Tools

Site Tools


hpc:best_practices

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpc:best_practices [2022/10/13 13:18]
Yann Sagon
hpc:best_practices [2023/05/26 15:07] (current)
Adrien Albert [First steps]
Line 1: Line 1:
-<title> Best practices and smart use of the HPC resources </title>+{{METATOC 1-5}}
  
  
-This page gives best practices and tips on how to use the clusters **Baobab** and **Yggdrasil**. 
  
 ====== Introduction ====== ====== Introduction ======
 +This page gives best practices and tips on how to use the clusters **Baobab** and **Yggdrasil**.
 +
  
 An HPC cluster is an advanced, complex and always-evolving piece of technology. It's easy to forget details and make mistakes when using one, so don't hesitate to check this section every now and then, yes, even if you are the local HPC guru in your team! There's always something new to learn ! An HPC cluster is an advanced, complex and always-evolving piece of technology. It's easy to forget details and make mistakes when using one, so don't hesitate to check this section every now and then, yes, even if you are the local HPC guru in your team! There's always something new to learn !
Line 14: Line 15:
 For your first steps we recommend the following : For your first steps we recommend the following :
   * Check the [[hpc:best_practices#rules_and_etiquette|Rules and etiquette]].   * Check the [[hpc:best_practices#rules_and_etiquette|Rules and etiquette]].
-  * Connect to the login node of the cluster you are planning to use :  +  * Connect to the login node of the cluster you are planning to use : [[hpc:access_the_hpc_clusters|Access : SSH, X2GO]]
-    * [[hpc:access_the_hpc_clusters|Access : SSH, X2GO]]+
   * Check the rest of this page for best practices and smart use of the HPC resources.   * Check the rest of this page for best practices and smart use of the HPC resources.
     * [[hpc:best_practices#stop_wasting_resources|This page contains important information]]! You can hog resources and/or wait much longer than you could if you don't request the right amount of time for your job, if you ask too much (or not enough) resources, if you are not using the right partition, etc.      * [[hpc:best_practices#stop_wasting_resources|This page contains important information]]! You can hog resources and/or wait much longer than you could if you don't request the right amount of time for your job, if you ask too much (or not enough) resources, if you are not using the right partition, etc. 
-  * Understand how to load your libraries/application with ''module'' +  * Understand how to load your libraries/application with ''module''[[applications_and_libraries|Applications and libraries]] 
-    * [[applications_and_libraries|Applications and libraries]] +  * Learn how to write a Slurm ''sbatch'' script[[slurm|Slurm and job management]]
-  * Learn how to write a Slurm ''sbatch'' script +
-    * [[slurm|Slurm and job management]]+
  
 ====== Rules and etiquette ====== ====== Rules and etiquette ======
Line 140: Line 138:
   * Do I want to receive email notification ?   * Do I want to receive email notification ?
  * This is optional, but you can specify the level of details you want with the ''<nowiki>--mail-type</nowiki>'' parameter  * This is optional, but you can specify the level of details you want with the ''<nowiki>--mail-type</nowiki>'' parameter
 +
 +====== Transfer data from cluster to another with ======
 +===== Rsync =====
 +This help assumes you want transfer the directory ''<nowiki>$HOME/my_projects/the_best_project_ever</nowiki>'' from baobab to yggdrasil at the same path. You can adapt your case by changing the variables.
 +
 +
 +__**Rsync options:**__
 +  * ''<nowiki>-a, --archive</nowiki>''This is equivalent to ''<nowiki>-rlptgoD</nowiki>''. It is a quick way of saying you want recursion and want to preserve almost everything (with ''<nowiki>-H</nowiki>'' being a notable omission). The only exception to the above equivalence is when ''<nowiki>--files-from</nowiki>'' is specified, in which case -r is not implied.
 +  * ''<nowiki>-i</nowiki>'' turns on the itemized format, which shows more information than the default format
 +  * ''<nowiki>-b</nowiki>'' makes rsync backup files that exist in both folders, appending ~ to the old file. You can control this suffix with ''<nowiki>--suffix .suf</nowiki>''
 +  * ''<nowiki>-u</nowiki>'' makes rsync transfer skip files which are newer in dest than in src
 +  * ''<nowiki>-z</nowiki>'' turns on compression, which is useful when transferring easily-compressible files over slow links
 +  * ''<nowiki>-P</nowiki>'' turns on --partial and --progress
 +  * ''<nowiki>--partial</nowiki>'' makes rsync keep partially transferred files if the transfer is interrupted
 +  * ''<nowiki>--progress</nowiki>''  shows a progress bar for each transfer, useful if you transfer big files
 +  * ''<nowiki>-n, --dry-run</nowiki>''  perform a trial run with no changes made
 +
 +1) Go to your directory containing ''<nowiki>the_best_project_ever</nowiki>'':
 +<code>
 +(baobab)-[toto@login2 ~]$cd $HOME/my_projects/
 +</code>
 +
 +2) Set the variables (or not)
 +<code>
 +(baobab)-[toto@login2 my_projects]$ DST=$HOME/my_projects/
 +(baobab)-[toto@login2 my_projects]$ DIR=the_best_project_ever
 +(baobab)-[toto@login2 my_projects]$ YGGDRASIL=login1.yggdrasil
 +</code>
 +3) Run the rsync
 +<code>
 +(baobab)-[toto@login2 my_projects]$ rsync -aviuzPrg ${DIR} ${YGGDRASIL}:${DST}
 +</code>
hpc/best_practices.1665659920.txt.gz · Last modified: 2022/10/13 13:18 by Yann Sagon