Development GPUs: Difference between revisions

From Wiki
No edit summary
 
Line 2: Line 2:


==Access to development GPUs==
==Access to development GPUs==
All AImageLab-SRV users can access the development GPUs. The development resources are managed by SLURM, within the partition <code>all_serial</code>.
All AImageLab-SRV users can access the development GPUs. The development resources are managed by SLURM, within the partition <code>all_serial</code>. To access them, you always need to specify one account. To get the list of accounts assigned to your username, run the <code>susage</code> command.


===Use from shell===
===Use from shell===
Line 9: Line 9:
To get a shell with a development GPU, use the following command from the login node or a development node:
To get a shell with a development GPU, use the following command from the login node or a development node:


<code>srun --partition=all_serial --gres=gpu:1 --pty bash</code>
<code>srun --partition=all_serial --account=<account> --gres=gpu:1 --pty bash</code>


===Use from IDEs===
===Use from IDEs===
Line 18: Line 18:
*Connect to <code>ailb-login-02.ing.unimore.it</code>(e.g.: <code>F1</code>, <code>Remote-SSH: Connect to Host...</code>) and enter your project folder (e.g. via: <code>F1</code>, <code>File: Open Folder...</code>)
*Connect to <code>ailb-login-02.ing.unimore.it</code>(e.g.: <code>F1</code>, <code>Remote-SSH: Connect to Host...</code>) and enter your project folder (e.g. via: <code>F1</code>, <code>File: Open Folder...</code>)
*From the tab <code>Extensions</code>, on the remote host install the extensions <code>Python</code>and<code>Pylance</code>
*From the tab <code>Extensions</code>, on the remote host install the extensions <code>Python</code>and<code>Pylance</code>
*Create the file <code>$projectFolder/bash.sh</code>, where <code>$projectFolder</code>the project folder indicates, containing:  <code>srun -Q --immediate=10 --partition=all_serial --gres=gpu:1 --time 60:00 --pty bash</code>  
*Create the file <code>$projectFolder/bash.sh</code>, where <code>$projectFolder</code>the project folder indicates, containing:  <code>srun -Q --immediate=10 --partition=all_serial --account=<account> --gres=gpu:1 --time 60:00 --pty bash</code>
*Check that the file <code>$projectFolder/bash.sh</code>has all execute permissions. Otherwise run<code>chmod +x $projectFolder/bash.sh</code>
*Check that the file <code>$projectFolder/bash.sh</code>has all execute permissions. Otherwise run<code>chmod +x $projectFolder/bash.sh</code>



Latest revision as of 07:55, 30 June 2024

AImageLab provides development GPUs that can be used via remote debugging. Hosts containing development GPUs replicate the same configuration of all aimagelab-srv nodes.

Access to development GPUs

All AImageLab-SRV users can access the development GPUs. The development resources are managed by SLURM, within the partition all_serial. To access them, you always need to specify one account. To get the list of accounts assigned to your username, run the susage command.

Use from shell

⚠️ Warning : It is forbidden to access GPUs and/or use heavy resources on login nodes without going through the SLURM scheduler.

To get a shell with a development GPU, use the following command from the login node or a development node:

srun --partition=all_serial --account=<account> --gres=gpu:1 --pty bash

Use from IDEs

Visual Studio Code

  • From the tab Extensions, install extensions Remote - SSHandRemote - SSH: Editing Configuration Files
  • Connect to ailb-login-02.ing.unimore.it(e.g.: F1, Remote-SSH: Connect to Host...) and enter your project folder (e.g. via: F1, File: Open Folder...)
  • From the tab Extensions, on the remote host install the extensions PythonandPylance
  • Create the file $projectFolder/bash.sh, where $projectFolderthe project folder indicates, containing: srun -Q --immediate=10 --partition=all_serial --account=<account> --gres=gpu:1 --time 60:00 --pty bash
  • Check that the file $projectFolder/bash.shhas all execute permissions. Otherwise runchmod +x $projectFolder/bash.sh
  • Open (or create if non-existent) the file $projectFolder/.vscode/settings.json, and make sure it contains the following key-value pair

"terminal.integrated.automationProfile.linux": { "path": "$projectFolder/bash.sh" }