ACN Lab GPU - Usage instructions

This wiki page is intended as a reference for how to use the ACN GPU.

Scope and role of the GPU

The ACN GPU is a powerful asset that may be used for any computation heavy task, particularly the ones based on graphic analysis and deep neural networks (DNN). Note that not all tasks may be effectively run on the machine, with some potentially running even slower than on your local computer.

Some examples of tasks where the GPU can be useful are:

  • Training and evaluating DNNs (like DeepLabCut, YOLO, PyTorch)
  • Rendering heavy graphics (like generating hundreds of plots via python or matlab)

On the other hand, the GPU may not be useful for:

  • Preparing data for DNNs (like the point finding of deeplabcut). While visual, these type of tasks do not use GPU resources. The rendering will be much slower than on your local machine.
  • Running statistics. Exclusion made for customly written code, these often run on CPU rather than GPU. If you have to run CPU heavy computation, CIMeC is equipped with a powerful cluster

 

How to gain access to the GPU

To gain access to the GPU, you will need to open a ticket to our IT staff and get your account enabled. Once done, you will be able to login using your unitn account.

Upon first access, you will gain:

  • A home folder, located either under /home/name.surname/ or /mnt/extraSSD/name.surname, depending on availability.
  • If you request it, you will also get a data folder, located under /mnt/extra-disk/data/name.surname/
  • If you have access to it, you will find the share ACN under /mnt/storage/tier2/ACN/

Note that the disk space in your home is limited. Use this only to install software and manage your anaconda3 environments (as it is set by default)! Do this in order to ensure that also your colleagues have space available.

For your data, please only use the data folder or your existing ACN storage. Note that while the space available here is much larger, do not use the GPU as a long term storage solution: copy here your data, use it for the analysis and remove it again once done.

 

Upon cancellation of a unitn account, the home and data folder associated will be deleted in 6 months time. Ensure all of your data is safe before that.

 

How to login

The GPU can be used remotely only. It's IP address is 10.233.25.111 You can access it from any machine currently connected to the building network (or connected through the unitn VPN) using ssh.

SSH (Secure Shell Protocol) is a universal system to connect remotely to machines through local network. It works through the command line. Open your terminal of choice and type:

ssh name.surname@10.233.25.111

You will be prompted for your password. Now your terminal operates as if it was opened inside the GPU.

Many coding IDEs support ssh connectivity, such that you may use them directly to wirte, move and create files on the GPU. Some examples are VScode, the premium version of PyCharm, or MobaXterm

 

Note! closing the terminal on your local machine will also close the running code that you launched in the GPU. To avoid this happening, you may use a terminal multiplexer like screen. Once connected through SSH, type:

screen -S name.of.session

from thereon, any command run on the terminal session will continue even if closing the terminal.  Next time you connect to the GPU, you can type

screen -ls

to list all active sessions. To reconnect to the latest session, type

screen -r

To instead reconnect to a specific session, type

screen -r name.of.session

when inside the screen session, type exit to close it. When you are done working on the GPU, make sure you have no open session remaining via the screen -ls command

Booking

Before using the GPU, you need to book it using CLARA. The machine can be booked like any other lab or facility. As it is equipped with 2 GPUs, 2 code may be run at the same time, either fulfilling the same scope and run by the same person, or by two users. As such, two bookable slots are available in the GPU. By default, any software will run on GPU0. To use the second one you will need to modify your code accordingly. As such, be mindful of other and of what you are doing when booking either one or both GPUs.