hpc:best_practices
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
hpc:best_practices [2022/12/06 11:03] – [Transfer data from cluster to another] Adrien Albert | hpc:best_practices [2024/10/07 08:15] (current) – [HPC cluster user departure procedure] 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 14: | Line 15: | ||
For your first steps we recommend the following : | For your first steps we recommend the following : | ||
* Check the [[hpc: | * Check the [[hpc: | ||
- | * 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: |
- | * [[hpc: | + | |
* 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: | * [[hpc: | ||
- | * Understand how to load your libraries/ | + | * Understand how to load your libraries/ |
- | * [[applications_and_libraries|Applications and libraries]] | + | * Learn how to write a Slurm '' |
- | * Learn how to write a Slurm '' | + | |
- | * [[slurm|Slurm and job management]] | + | |
====== Rules and etiquette ====== | ====== Rules and etiquette ====== | ||
Line 159: | Line 157: | ||
1) Go to your directory containing ''< | 1) Go to your directory containing ''< | ||
< | < | ||
- | cd $HOME/ | + | (baobab)-[toto@login2 ~]$cd $HOME/ |
</ | </ | ||
2) Set the variables (or not) | 2) Set the variables (or not) | ||
< | < | ||
- | DST=$HOME/ | + | (baobab)-[toto@login2 my_projects]$ |
- | DIR=the_best_project_ever | + | (baobab)-[toto@login2 my_projects]$ |
- | YGGDRASIL=login1.yggdrasil | + | (baobab)-[toto@login2 my_projects]$ |
</ | </ | ||
3) Run the rsync | 3) Run the rsync | ||
< | < | ||
- | rsync -abviuzPrg | + | (baobab)-[toto@login2 my_projects]$ |
</ | </ | ||
+ | |||
+ | |||
+ | ====== SWITCHfilesender from the cluster ====== | ||
+ | |||
+ | Switch Filesender | ||
+ | Filesender is a service provided by SWITCH for transferring files via http. Normally, files are downloaded via a web browser, but using the CLI is more efficient and we benefit from the Login node's high bandwidth. | ||
+ | |||
+ | In order to avoid having to transfer the files to your local computer it is possible to use the Filesender command line tools as explained below | ||
+ | |||
+ | |||
+ | |||
+ | ===== Configuring the CLI tools ===== | ||
+ | |||
+ | |||
+ | Connect to https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Then click on " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | This will generate a long string like | ||
+ | |||
+ | '' | ||
+ | |||
+ | Then connect to HPC cluster and run the following commands to download the CLI tool and the configuration | ||
+ | |||
+ | |||
+ | < | ||
+ | cd | ||
+ | |||
+ | mkdir ~/ | ||
+ | |||
+ | wget https:// | ||
+ | |||
+ | wget https:// | ||
+ | </ | ||
+ | |||
+ | You will then need to edit the '' | ||
+ | |||
+ | You need to enter your username as show in the Filesender profile and the API key that you generated | ||
+ | |||
+ | Note that at present, unlike the other Switch services this is not your EduID account! | ||
+ | |||
+ | < | ||
+ | [system] | ||
+ | base_url = https:// | ||
+ | default_transfer_days_valid = 20 | ||
+ | |||
+ | [user] | ||
+ | username = Charizard@unige.ch | ||
+ | apikey = ab56bf28434d1fba1d5f6g3aaf8776e55fd722df205197 | ||
+ | </ | ||
+ | |||
+ | ==== Transferring files ==== | ||
+ | |||
+ | |||
+ | Now that we have done this we can transfer files - note that the modules must be loaded in order to have a python with the required libraries. | ||
+ | |||
+ | |||
+ | (baobab)-[alberta@login2 ~]$ module load GCC Python | ||
+ | |||
+ | You may need to install some python package before: | ||
+ | |||
+ | (baobab)-[alberta@login2 ~]$ pip3 install requests urllib3 | ||
+ | |||
+ | < | ||
+ | (baobab)-[alberta@login2 ~]$ python3 filesender.py -p -r mewtwo@unige.ch master.tar.gz | ||
+ | Uploading: / | ||
+ | Uploading: / | ||
+ | </ | ||
+ | |||
+ | A mail will be sent to '' | ||
+ | |||
+ | |||
+ | ====== HPC cluster user departure procedure ====== | ||
+ | |||
+ | **Step 1: Backup and clean up personal data** | ||
+ | * **Retrieve your personal data** from the **home** and **scratch** directories. | ||
+ | * **Clean** these directories by removing unnecessary files. | ||
+ | |||
+ | **Step 2 (optional): Organizing and transferring shared data** | ||
+ | * If you belong to a group, **identify important data** in shared directories. | ||
+ | * If a data ownership transfer is necessary, send a **request to the HPC team** to transfer ownership to another user, with the group leader' | ||
+ | |||
+ | **Step 3: Transfer confirmation** | ||
+ | * Ensure the data transfer has been completed and notify the relevant parties. | ||
+ |
hpc/best_practices.1670324604.txt.gz · Last modified: 2022/12/06 11:03 by Adrien Albert