Getting Started
Account request and accessing the system
Requesting for an account on GPU Cluster
- New raad2 user: New users are required to apply for an account on raad2 by visiting this link. While submitting the account request form, you need to;
- Select "Yes" under "GPUs Required?"
- Fill in "Research decription" field with brief summary of your research work and how GPUs will be helpful.
- Existing raad2 user: Existing raad2 users can email rccg@hbku.edu.qa with subject "GPU access required" and provide a brief summary of your research description and how GPUs will be helpful.
Login to the system
After your account is approved and getting access to raad2, follow these steps to access the raad2 GPU:
- Using Windows: After accessing raad2 via: MobaXterm, you need to issue the following command using your own raad2 username:
- Using Mac: Go to termenal and issue the following command using your own raad2 username:
ssh <username>@raad2-gfx.biolab.local
Please note that the password is the same as your raad2 account.
ssh <username>@raad2-gfx.biolab.local
OR: To have X11 forwarding, which is a mechanism that allows you to start up remote applications but forward the application display to your local machine.
ssh -Y <username>@raad2-gfx.biolab.local
Please note that the password is the same as your raad2 account.
Transferring your data
Please refer to the documentation here.
Programming Environments
Available Modules
In general, modules are pieces of code that can be loaded and unloaded into the environment upon demand. You need to initialize them for every application you will referencing to during the session. To see the available modules on the GPU, issue the following command:
abtakid91@raad2-gfx:~$ module avail
The first few lines of the output should look like this:
------------------------------------------------------------------------- /cm/local/modulefiles -------------------------------------------------------------------------
boost/1.81.0 cm-bios-tools cuda-dcgm/4.1.1.1 gcc/13.1.0 luajit module-info python3 shared
cluster-tools-dell/10.0 cmd dot ipmitool/1.8.19 mariadb-libs null python39 singularitypro/4.3.3
cluster-tools/10.0 cmjob freeipmi/1.6.14 lua/5.4.6 module-git openldap sedutil/1.16.0
------------------------------------------------------------------------ /cm/shared/modulefiles -------------------------------------------------------------------------
anaconda/2024.10 cuda12.2/fft/12.2.2 cudnn9.1-cuda12.2/9.1.1.17 hwloc/1.11.13 mpich/ge/gcc/64/4.1.1 openmpi/gcc/64/4.1.5
blacs/openmpi/gcc/64/1.1patch03 cuda12.2/nsight/12.2.2 default-environment hwloc2/2.8.0 mvapich2/gcc/64/2.3.7 openmpi4/gcc/4.1.5
blas/gcc/64/3.11.0 cuda12.2/profiler/12.2.2 fftw3/openmpi/gcc/64/3.3.10 ior/4.0.0 namd/3.0.1 R/4.5.1
bonnie++/2.00a cuda12.2/toolkit/12.2.2 gdb/13.1 iozone/3.494 netcdf/gcc/64/gcc/64/4.9.2 ucx/1.14.1
cm-pmix3/3.1.7 cuda12.8/blas/12.8.0 globalarrays/openmpi/gcc/64/5.8 iperf/3.17.1 netperf/2.7.0
cm-pmix4/4.1.3 cuda12.8/fft/12.8.0 hdf5/1.14.0 lammps/2023.06 openblas/dynamic/(default)
cuda12.2/blas/12.2.2 cuda12.8/toolkit/12.8.0 hdf5_18/1.8.21 lapack/gcc/64/3.11.0 openblas/dynamic/0.3.18
Available CUDA Versions
- CUDA12.2
- CUDA12.8
The CUDA version can be loaded with the command below: (For example, to load CUDA91)
itambol89@raad2-gfx:~$ module load cuda12.8
The current cuDNN version is 9.1, it can be loaded with the command below:
itambol89@raad2-gfx:~$ module load cudnn9.1-cuda12.2
Available Python Packages
- Python 2.7
- Python 3.6 (Default)
- Python 3.8
- Python 3.9
The Python version can be loaded with the command below: (For example, to load Python 3.9)
itambol89@raad2-gfx:~$ module load python39
To see the loaded list of modules:
itambol89@raad2-gfx:~$ module list
The first few lines of the output should look like this:
Currently Loaded Modulefiles:
1) gcc/13.1.0 2) singularitypro/4.3.3 3) R/4.5.1
4) cuda12.2/toolkit/12.2.2 5) cudnn9.1-cuda12.2/9.1.1.17 6) python39
Please note that if you do not load any python version, it will be python3 automatically and it will not show when you issue the module list command above.
Python Virtual Environments
A virtual environment is an isolated environment for your projects. This means that each project can have its own dependencies, regardless of what dependencies every other project has. Creating a virtual environment solves the problem of having multiple projects on the same system with conflicting package requirements.
There are two python virtual environments options, Python Virtual Environment and Conda Python Virtual Environment (virtualenv). The main difference between them is that conda is a bit more full-featured. Conda has dedicated syntax for creating environments and installing packages, and can also manage the installation of different python versions. For virtualenv, you just activate the environment and then use all the normal commands.
Python Virtual Environment
Let us create the mlproject virtual environment from the sample section: Let us load the python version we wish to use: (e.g. python 3.6)
abtakid91@raad2-gfx:~$ module load python36
To create the virtual environment:
abtakid91@raad2-gfx:~$ virtualenv mlproject
To activate the virtual environment:
abtakid91@raad2-gfx:~$ source mlproject/bin/activate
In the terminal, you will notice that (mlproject) is added, this means that you are working inside the python virtual environment.
To verify the python version of your envirnment:
(mlproject) abtakid91@raad2-gfx:~$ which python
The output should be something like this:
~/mlproject/bin/python
For the mlproject sample, we need to install the sklearn and pandas packages.
(mlproject) abtakid91@raad2-gfx:~$ pip install pandas
(mlproject) abtakid91@raad2-gfx:~$ pip install sklearn
To deactivate the virtual environment:
(mlproject) abtakid91@raad2-gfx:~$ deactivate
Conda Python Virtual Environment
Before creating the virtual envirnment, it is convenient to add the source line to the .bashrc by: (you have to do this only once)
echo "source /cm/shared/apps/anaconda3/etc/profile.d/conda.sh" >> .bashrc
Let us create the dlproject virtual environment from the sample section:
To create the virtual envirnment:
abtakid91@raad2-gfx:~$ conda create -n dlproject python=3.8
To activate the created envirnment:
conda activate dlproject
In the terminal, you will notice that (dlproject) is added, this means that you are working inside the Conda python virtual environment.
To verify the python version of your envirnment:
(dlproject) abtakid91@raad2-gfx:~$ which python
The output should be something like this:
~/.conda/envs/dlproject/bin/python
To deactivate the current envirnemnt:
(dlproject) abtakid91@raad2-gfx:~$ conda deactivate
To see the list of conda environments you have:
abtakid91@raad2-gfx:~$ conda env list