Quick Start Guide

Grex#


Grex is an UManitoba High Performance Computing (HPC) system, first put in production in early 2011 as part of WestGrid consortium. Now it is owned and operated by the University of Manitoba. Grex is accessible only for UManitoba users and their collaborators.

A Very Quick Start guide#


1. Create an account on CCDB . You will need an institutional Email address. If you are a sponsored user, you’d want to ask your PI for his/her CCRI code {Compute Canada Role Identifier}. For a detailed procedure, visit the page Apply for an account .

2. If you did not set yet MFA, please enrol using the instructions from this page .

3. Wait for half a day. While waiting, install an SSH client, and SFTP client for your operating system.

4. Connect to yak.hpc.umanitoba.ca or grex.hpc.umanitoba.ca with SSH, using your username/password from step 1.

5. Make a sample job script, call it, for example, sleep-job.sh . The job script is a text file that has a special syntax to be recognized by SLURM. You can use the editor nano , or any other right on the Grex SSH prompt (vim, emacs, pico, … etc); you can also create the script file on your machine and upload to Grex using your SFTP client or scp.

Script example for a test job
sleep-job.sh
#!/bin/bash

#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=500M
#SBATCH --time=00:01

echo "Starting run at: `date`"

echo "Hello world! will sleep for 10 seconds"

time sleep 10

echo "Program finished with exit code $? at: `date`"

6. Submit the script using sbatch command, to the skylake partition using:

sbatch --partition=skylake sleep-job.sh

7. Wait until the job finishes; you can monitor the queues state with the ‘sq’ command. When the job finishes, a file slurm-NNNN.out should be created in the same directory.

8. Download the output slurm-NNNN.out from yak.hpc.umanitoba.ca to your local machine using your SFTP client.

9. Congratulations, you have just run your first HPC-style batch job. This is the general workflow, more or less; you’d just want to substitute the sleep command to something useful, like ./your-code.x your-input.dat .