This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
hpc:best_practices [2021/01/25 16:45] Yann Sagon [Single thread vs multi thread vs distributed jobs] |
hpc:best_practices [2023/05/26 15:05] Adrien Albert |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | < | + | {{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' | 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' | ||
Line 87: | Line 88: | ||
===== Single thread vs multi thread vs distributed jobs ===== | ===== Single thread vs multi thread vs distributed jobs ===== | ||
- | There are three job categories each with different needs: | + | See [[hpc:slurm# |
- | + | ||
- | ^Job type ^ Number of cpu used ^ Examples | + | |
- | | **single threaded** | **one CPU** | Python, plain R | - | | + | |
- | | **multi threaded** | + | |
- | | **distributed** | + | |
- | + | ||
- | + | ||
- | There are also **hybrid** jobs, where each tasks of such a job behave like a multi-threaded job. | + | |
- | This is not very common and we won't cover this case. | + | |
- | + | ||
- | In slurm, you have two options | + | |
- | + | ||
- | * ''< | + | |
- | * ''< | + | |
Line 154: | Line 141: | ||
* 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 ''< | * This is optional, but you can specify the level of details you want with the ''< | ||
+ | |||
+ | ====== Transfer data from cluster to another with ====== | ||
+ | ===== Rsync ===== | ||
+ | This help assumes you want transfer the directory ''< | ||
+ | |||
+ | |||
+ | __**Rsync options: | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||
+ | |||
+ | 1) Go to your directory containing ''< | ||
+ | < | ||
+ | (baobab)-[toto@login2 ~]$cd $HOME/ | ||
+ | </ | ||
+ | |||
+ | 2) Set the variables (or not) | ||
+ | < | ||
+ | (baobab)-[toto@login2 my_projects]$ DST=$HOME/ | ||
+ | (baobab)-[toto@login2 my_projects]$ DIR=the_best_project_ever | ||
+ | (baobab)-[toto@login2 my_projects]$ YGGDRASIL=login1.yggdrasil | ||
+ | </ | ||
+ | 3) Run the rsync | ||
+ | < | ||
+ | (baobab)-[toto@login2 my_projects]$ rsync -aviuzPrg ${DIR} ${YGGDRASIL}: | ||
+ | </ |