---
# System prepended metadata

title: MATLAB-4 day

---

# 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


