Robin-hpc

From Robin

(Difference between revisions)
Jump to: navigation, search
(Access)
(Hardware)
Line 1: Line 1:
-
== Hardware ==
+
== Hardware and network configuration ==
-
 
+
-
Todo: vegardds
+
-
 
+
-
=== CPU and RAM ===
+
 +
The <code>robin-hpc</code> is a shared resource for robins researchers and Master students. The strength of the machine is the amount of CPU cores and RAM. Unforunatly, there's no GPU available in this service.
 +
 +
=== Specs ===
 +
{| class="wikitable"
 +
|-
 +
!
 +
! CPU
 +
! RAM
 +
! OS
 +
|-
 +
| login node
 +
| 2 cores/4 vCPU
 +
| 16GB<br />
 +
| CentOS
 +
|-
 +
| worrker node
 +
| 120 cores/240 vCPU
 +
| 460GB
 +
| CentOS
 +
|}
=== Storage ===
=== Storage ===

Revision as of 15:34, 23 February 2021

Contents

Hardware and network configuration

The robin-hpc is a shared resource for robins researchers and Master students. The strength of the machine is the amount of CPU cores and RAM. Unforunatly, there's no GPU available in this service.

Specs

CPU RAM OS
login node 2 cores/4 vCPU 16GB
CentOS
worrker node 120 cores/240 vCPU 460GB CentOS

Storage

Access

Apply for access using this link: https://nettskjema.no/a/robin-hpc

SLURM

Todo: emmaste

Software

Matlab R2019b

Todo: sebastto

Setting up the SLURM job script

#SBATCH --job-name=matlab_job
#SBATCH --ntasks=1
#SBATCH --cpus-per-task 16

srun matlab -batch "addpath(genpath('/path/to/your/matlab/folder'));run('myScript.m')"

Running Matlab in batch mode is the most safe option for running MATLAB on a HPC. (From Mathworks documentation)[1]:

-batch statement

  • Starts without the desktop

  • Does not display the splash screen

  • Executes statement

  • Disables changes to preferences

  • Disables toolbox caching

  • Logs text to stdout and stderr

  • Does not display modal dialog boxes

  • Exits automatically with exit code 0 if script executes successfully. Otherwise, MATLAB terminates with a non-zero exit code.

The addpath(genpath('/path/to/your/matlab/folder')) part adds all files in the specified directory to the MATLAB search path. Afterwards we run the main script of your program with run('myScript.m').

Utilizing parallel computing in your MATLAB Script

When the SLURM worker node is setting up your job, a number of environment variables is set. We can use the environment variable SLURM_CPUS_ON_NODE to get the number of CPU cores available in our MATLAB script. In fact, we can use that variable to dynamically select the number of workers in the MATLAB parallel pool, so that your script works both on your own computer and on the HPC.

SLURM_CPUS_STR = getenv('SLURM_CPUS_ON_NODE');

% Delete parallel pool from earlier runs
delete(gcp('nocreate'));

if isempty(SLURM_CPUS_STR) 
    % Run on personal computer (with however many cores your CPU has)
    parpool(6);
else
    % Run on SLURM-scheduled HPC
    SLURM_CPUS_NUM = str2num(SLURM_CPUS_STR);
    parpool(SLURM_CPUS_NUM);
end

Anaconda

Todo: emmaste

Podman

alias docker=podman
Personal tools
Front page