# UPPMAX Training Summary
This document: https://hackmd.io/@UPPMAX/UPPMAX-training-summary
[toc]
## UPPMAX Introductory Course
- https://www.uu.se/en/centre/uppmax/support/courses-and-workshops/uppmax-introductory-course
- day 1: Intro to UPPMAX and Linux
- intro to NAISS and UPPMAX
- login
- basic Linux commands
- module tree
- basic software installations
- basic Slurm
- day 2: Linux II
- output and error redirections
- piping commands
- wildcards
- man pages
- symbolic links
- file manipulation with `grep`, `head`, ...
- `tar`, checksums, env variables
- day 3: Bash scripting
- gnu parallel
- day 4: Slurm beyond the basics
- choosing the optimal SBATCH parameters
- Slurm commands: `sbatch`, `sinfo`, `scontrol`, ...
- monitoring jobs in terms of CPU and memory usage
- examples: OpenMP, MPI, hybrid, I/O-intensive, job arrays
- day 5: Python - beginner level
## Introduction to Bianca
- 1 day
- contents: login, Slurm tailored for Bianca, file transfer
## Awk
Course material: https://pmitev.github.io/to-awk-or-not/
- 2 days
## R/Python/Julia (together with HPC2N)
- does not teach programming, rather how to set up the environment correctly and running effectively on the cluster
## HPC Python (together with HPC2N)
- as above
---
Other courses
## Bianca Hackathon (intermediate level)
- 1 day
- advanced file transfer, advanced Slurm, using IDEs, building software
## Singularity
Course material: https://pmitev.github.io/UPPMAX-Singularity-workshop/
- 1 day
## Programming Formalisms
- 1 full week
## Intro to Git (together with HPC2N)
- starts from the beginning but gets to an intermediate level
- 5 half-days
## CodeRefinery workshop
- 6 half-days
- covers: Git, Git collaborative (GitHub), documentation, testing, ...
## Python for Scientific Computing (with CodeRefinery and Aalto Univ)
- intermediate level, participants should have basic knowledge in Python programming
- covers Jupyter, Matplotlib, Pandas, enviroements, libraries, ...
## Tuesday Tools & Techniques for HPC (TTT4HPC)
- 4 x 3.5 h
- covers best practices in HPC
## VASP workshop (together with NSC and ENCCS)
- 2 days
- covers theory and best practices for running on the clusters
---
Courses we'd like to offer in the future that are missing right now:
- 1-day Matlab addition to the R/Python/Julia course
- intro(?) course tailored for the digital humanities