- Prerequisites
- Interest in parallel programming
- Programming in C or C++
- Language
- Group 2: English
- Groups 1, 3-5: German, unless there are non-German speakers?
- Content
- General concepts of parallel programming
- Concepts apply to many parallel programming models
- As an example, we will mainly discuss OpenMP
---
## Discord server
- Discord server for any discussions outside the PS
- https://discord.gg/7nj98zzeM6
---
## Grading
- Weekly assignments, published on OLAT
- Link to GitHub
- 3 points per week
- Teamwork is permitted and encouraged
- 3 people max. per team
-
- choose a suitable source code editor / IDE and choose it wisely!
- get acquainted with your toolchain debuggers, version control (git), etc.
- use common sense and sanity checks!
---
## Clusters and supercomputers
Look like:
Feel like:
---
## Get user credentials, log in and change your password!
- `ssh cbXXXXXX@login.lcc3.uibk.ac.at`
- Change password with `passwd`
- You are responsible for your account!
- don't use these credentials for anything other than this course
- coin mining isn't worth it anyways
---
## Submission systems
- Responsible for resource management and job orchestration
- used to submit or cancel "jobs", query their status, get information about cluster, ...
- Very popular: SLURM
- modern, complex but very capable
- de-facto standard on most systems these days
---
## Jobs: submission, deletion, status
- `sbatch name_of_script`
- allocates resources
- sets up environment
- executes application
- frees allocation
- `scancel job_id_list`
- terminates application
- frees up resources
- `squ (squeue -U $USER)`
- queries for job status
- squeue for all users
```bash
[cb761011@login.lcc3~]$ sbatch job.sh
Submitted batch job 184
[cb761011@login.lcc3~]$ scancel 184
[cb761011@login.lcc3~]$ sbatch job.sh
Submitted batch job 185
[cb761011@login.lcc3~]$ squ
JOBID PRIORITY PARTITION NAME USER STATE NODES CPUS TIME_LIMIT NODELIST(REASON)
185 504 lvatest cb761011 RUNNING 1 8 30:00 n002
```
---
## Questions?