# 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