# PRACE OpenACC Course @ JSC

Date: 26 Oct 2022 - 28 Oct 2022, 9:00 - 13:00 (CEST)

## About the Course

The course will be held online entirely. The link to the video conference room will be provided in time before the course. We expect every participant to stay in the course the entirety and actively participant in the exercises.

The course contains lectures and interactive hands-on exercises using the supercomputers at Jülich Supercomputing Centre (JSC). Access to the supercomputers is given via a web browser or via an SSH terminal.

**The course is heavily overbooked.** To make sure everyone registered is really interested, we need you to confirm your interest by sending the profound proverb (see below) via email.


## Accessing JSC Supercomputers

The course is using the JURECA DC supercomputer, a  machine equipped with NVIDIA A100 GPUs (see also JSC's [JURECA documentation](https://apps.fz-juelich.de/jsc/hps/jureca/)).

### Account via JuDoor

To access the machine, you need to create an account via JSC's JuDoor portal. Please register here:  
[https://judoor.fz-juelich.de/](https://judoor.fz-juelich.de/).

Please – if possible – use your institutional email address.

### Project via JuDoor

Once registered, you need to be associated to the training project, `training2231`. Please request access here:  
[https://judoor.fz-juelich.de/projects/join/training2231](https://judoor.fz-juelich.de/projects/join/training2231)

You need to accept the Usage Agreement for JURECA DC.

The JuDoor steps take a bit of time to propagate to the supercomputers (about 15 minutes).

### Login via Jupyter-JSC _(preferred)_

With your JuDoor credentials, login to  
[https://jupyter-jsc.fz-juelich.de](https://jupyter-jsc.fz-juelich.de)

Create a new JupyterLab instance (calling it `jureca_gpu`, for example). In the options to the JupyterLab configuration, choose `training2231` as the associated project. As Partition, choose `LoginNode`. Start it.

When the new JupyterLab workspace has started, open a new Terminal. You're on JURECA DC!

### Login via SSH _(advanced users)_

If you know what you are doing, you may login to the machine via SSH. 

First, upload a new public SSH key via JuDoor. JSC has tight security restrictions, so be sure to select a proper `from` clause in the key. More detailed instructions can be found [https://apps.fz-juelich.de/jsc/hps/jureca/access.html#key-generation](here).

Afterwards, connect via `ssh name1@jureca.fz-juelich.de`, replacing `name1` with your JuDoor login.

## Preparing for Course

Please get acquainted with the system and course setup before the course already so we can start directly with GPU programming.

### Course Environment

We prepared a course environment for you, automatizing several things of less importance in this course (mostly related to submitting compute jobs). The course environment is activated by sourcing a Bash script:


```bash
source $PROJECT_training2231/env.sh
```

Working within the Course Environment is mandatory for the course.

Please never forget to source it at the beginning of the course; consider adding it to your `.bashrc`.


### Further Info

Feel free to read through the documentation of [JURECA](https://apps.fz-juelich.de/jsc/hps/jureca/index.html). If your Bash skills are rusty, consider reading through a quick refresher online. Also, reading up on the most important Slurm commands could be helpful.

## Profound Proverb Challenge

To encourage testing your setup we prepared a small task. When confirming your registration please include the profound proverb printed to your screen the first time the Course Environment is sourced.

Please email your interest and the profound proverb to Andreas (<a.herten@fz-juelich.de>)
