# 4-day workshop planning: MATLAB
Friday 2024-10-25
## Materials page
- https://github.com/UPPMAX/R-python-julia-matlab-HPC/
- https://uppmax.github.io/R-python-julia-matlab-HPC/
## Fall 2025
### Living schedule
| Time | Topic | Teacher(s) |Needed time| Comments? |
|----:|:---------:|:-----------|:---------- |-|
| 09:00 | Log in | Several |
| 09:45 | Coffee break ||
| 10:00 | Syllabus | RP |
| 10:15 | Introduction, MATLAB in general | RP | OK?
| 10:25 | Loading modules and running MATLAB codes | RP | OK?
| 10:50 | Break | |
| 11:05 | Slurm job scheduler and Matlab | BB | OK? | Status? switch to have GUI first?
| 12:00 | LUNCH | |
| 13:00 | Simultaneous session - MATLAB with Desktop On Demand tabs for different clusters| RP |
| ... | (Simultaneous session - UPPMAX: Local desktop client) | BC | | Check if include or not
| 13:30 | Matlab GUI and Slurm | PO, RP | OK
| 13.50 | Coffee break | |
| 14.05 | Matlab GUI and Slurm cont'd | PO, RP | OK
| 14:30 | Add-Ons | BC |
| 14:55 | Break | Several |
| 15:10 | Summary | Several |
| 15:20 | Evaluation | Several |
| 15:35 | Q&A on-demand | Several |
| 16:00 | END | |
- We include intro to parallel matlab (beginners)
### Advanced day
- Parallel computing: Very general (Amdahl)
- Thread parallelism
- languages
- :warning: Missing MPI and distributed
- Matlab: Attend general + thread
- no specific lesson (MPI)
- ML:
- [x] Intro to GPUs 10-15m
- use from HPC-Python (Birgitte rst--> > md/mkdocs)
- Matlab: No material at all yet
- RP asks mathworks to have 60-90 m session
- BC looks for a solution of schdule and content
## Spring 2025?
- Mathwork's Raymond Norris is interested in helping out with a TA.
-
Contact(?) persons at the centers according to Mathworks
Matlab
help from mathworks
raymond
- Björn, UPPMAX
- Peter Münger, nsc
- Åke Sandgren, hpc2n (years since)
- Rebecca (Anders), LUNARC
- Henrik Zazzi, pdc
- Johan Hellqvist
- Mikael Öhman, chalmers
## New, proposed living schedule
Start |Timing|Topic |Teacher
---------|-|--------------------------------|-------
**9:00** ||Log-in |
**9.45** || Break
**10:00** ||Syllabus |Rebecca?
**10:15** ||Matlab in general |Rebecca?
**10:25** ||Load modules and run + script |Rebecca + person from each HPC center
**10:50** ||Break |.
**11:05**||Add-ons/packages |Björn?
**11:30**||**Slurm (just command line)**| Birgitte
**12:00**||LUNCH |.
**13:00**||**Parallel, syntax, pool, matlab batch, ** 30 min|Pedro & Rebecca
**13:45 or earlier**||Parallel - continued? 45 |Pedro
**14:30**||GPU 20 |Birgitte (input from Pedro)
**14:50**||Break |.
**15:05**||Simultaneous SESSIONS - desktop on demand (COSMOS) 30m|Rebecca
**15:05**||Simultaneous SESSIONS - local desktop (UPPMAX) 30 m|Björn
**15:05**|| 30 m Simultaneous SESSIONS - (jupyter notebook)|Pedro
**15:35**||interaction with other tools (skip this year)|?
**15:35**||Conclusion |All
**15:40**||Evaluation |.
**15.50**||Q/A
**16:00**||END
### Meeting 14 Oct 13.40
- Status
- syllabus is common for all lang
- matlab in general
- RP done?
- load and scripts
- RP done?
- add-ons
- BC needs work
- **slurm**
- ~~BC proposal in batchMatlab_BC~~
- combination
- slurm plus matlabs batch + parcluster
- instead make commandline specific
- [x] ``slurmMatlab.rst`` take upper part of batchMatlab_BC
- BB takes
- **Parallel start** 30
- Everything from matlab GUI
- [x] ``jobsMatlab.rst`` (lower part of batchMatlab_BC)
- Q: does parpool work on Kebnekaise?
- Yes
- you can set parpool to ask for external compute core/nodes
- Parallel common 45 min
- Pedro done?
- GPU
- BB looks at it and inform how to proceed
- yes
- demo
- exercise
- PO can contribute!
- Simultaneous sessions
- interactiveMATLAB.rst can be extra material or interwoven somehow in slrum/parallel start
- desktop on demand
- RP status?
- common
- jupyter notebook
- PO
- now in interactiveMatlab
- [x] move content to ``jupyterMatlab.rst`` file
- local desktop
- BC
- no parpool
### Discussions
- Parpool command
- only available in "interactive sessions"?
- Cosmos: on-demand
- UPPMAX: interactive -A proj
- Solution on HPC2N??
- where to teach?
- already in parallelism part 1?
## ToDos
- BC updates the schedule at rendered
- write on our materials
## Schedule 27 Sep
Start |Timing|Topic |Teacher
---------|-|--------------------------------|-------
**9:00** ||Log-in |
**9.45** || Break
**10:00** ||Syllabus |Rebecca?
**10:15** ||Matlab in general |Rebecca?
**10:25** ||Load modules and run + script |One person from each HPC center
**10:50** ||Break |.
**11:05**||Add-ons/packages |Björn?
**11:30**||Slurm (matlab agnostic) |Birgitte?
**12:00**||LUNCH |.
**13:15**||Parallel, syntax, pool, matlab batch, shell batch|Pedro & Rebecca
**14:00**||Parallel - continued? |Pedro?
**14:20**||GPU |?
**14:50**||Break |.
**15:00**||Simultaneous SESSIONS - desktop on demand (COSMOS)|Rebecca
**15:00**||Simultaneous SESSIONS - local desktop (UPPMAX)|Björn
**15:00**||Simultaneous SESSIONS - (jupyter notebook)|Pedro
**15:35**||interaction with other tools (brief)|?
**15:50**||Conclusion & Q/A |All
**15:00**||Evaluation |.
**16:00**||END |
## Input from general meeting 11 Oct
- we need
- a file describing the parpool, batch and jobs inside matlab
- a short intro to slurm system before
- the recent parallelism session is to come after
## Meeting 27 Sep 11.30
### Status
- PO jupyter works!
- Need to contribute with exercises
- Need to give info of cluster profile scripts/settings
ToDos:
- All except Ri: check MATLAB syntax in re: parcluster and parpool
- when to use c.batch() and when to use parpool(c) assuming cluster profile c is already defined and up-to-date
- BC:
- check cosmos
- check tabs for UPPMAX
- check the new syntax (see above)
- remake local documentation
- BB
- check cosmos
- check syntax
- PO
- check syntax
- RP
- presentation
- preview Wed 9 Oct
- intro
- load
- check syntax (see above)
## Meeting 17 Sep 13.00
### Status
- BC made all existing Matlab files rendered and public
- Need to contribute with exercises
- Need to give info of cluster profile scripts/settings
### Decisions
- Vote: Start log in at 9:00 and ordinary at 10:00
- BC, BB, RP, PO
- DECIDED
- Vote: or at 9:15 and ordinary at 10:15
## Goals and content
- Introduction to MATLAB
- Load and run MATLAB
- Goals
- students are able to use matlab in their favorite cluster
- commandline bash (include)
- scripts
- GUI commandline
- content+exercise
- Add-ons/Toolbox
- goal
- students are able to find or install own add-ons
- content
- manager
- github
- local MATLAB folder?
- Preinstalled on the clusters
- Slurm
- goal
- intro
- learn about projects and compute node understanding
- own document (doesn't need to be matlab agnostic)
- Parallel jobs
- Intro about pools and batch
- Syntax
- tabs in the general parallel document
- interactive in pool
- GPU
- incl ML toolbox
- intro
- **teacher to be decided**
- Jupyter:
- pedro checks
- Next meeting fri 11