---
---
# 3-day Introduction to running R, Python, Julia, MATLAB in HPC
- Course ZOOM: https://umu.zoom.us/j/63961186558?pwd=aXJXUnhrdlZpNjMvOTlXaU9zS3BIUT09
## Materials page
- https://github.com/UPPMAX/R-python-julia-HPC/
- https://uppmax.github.io/R-python-julia-HPC/
## Links to HPC-Python
- planning: https://hackmd.io/_J-EjtsYQhWUgS0QTUh0Ww
- material: https://uppmax.github.io/HPC-python/index.html
- source: https://github.com/UPPMAX/HPC-python/tree/main/docs
# Autumn 2024
## Dates
week 43: Mon 21 Oct - Fri 25 Oct:
- Onboarding: Mon 21 Oct
- Python: Tuesday 22nd Oct: Re + ?
- Julia: Wednesday 23rd Oct:
- R: Thursday 24th Oct:
- Matlab: Friday 25th Oct: Bi + Bj + Pe + Re?
## MATLAB planning
### Next meeting 19 Aug, 13-14
Zoom: https://umu.zoom.us/j/61208880201
- Look-up before:
- VS code implementation
- gurobi/comsol/other?
- home desktop
### Meeting 20 May
- Typical sessions
- load, run, scripts, thinlinc
- packages/plug-ins
- check vs code implementation
- https://content.mathworks.com/viewer/6616d1a654a921f7493cf4f6
- gurobi/comsol etcetra
- isolated? check
- batch
- interactive
- parallelisms
- gpus
- ML
## Meeting in May ??
- Evaluations of R and Julia
# Spring 2024
## Dates
* 11 March 11:00-12:00: On-boarding
* 12 March: Python
* 13 March: Julia
* 14 March: R
## Evaluation meeting 2024-03-27 at 13.30
- Student evaluations:
- [Python](https://forms.office.com/Pages/AnalysisPage.aspx?AnalyzerToken=gYUW4FOr3fmmsYmBv20YfsRGEQUDXKUw&id=-aZLWjH1Mk-UZzmPGead5I9DA_EX6qtGpq8zJf2ohI1UMVpNM1dGUEhPVFpKUDVOUlBRWkgyUFlWMi4u)
- [Julia](https://forms.office.com/Pages/AnalysisPage.aspx?AnalyzerToken=gYUW4FOr3fmmsYmBv20YfsRGEQUDXKUw&id=-aZLWjH1Mk-UZzmPGead5I9DA_EX6qtGpq8zJf2ohI1UNlY3NFUwODFMWDlDVFhUUkRMS01CSkQzSS4u)
- [R](https://forms.office.com/Pages/AnalysisPage.aspx?AnalyzerToken=gYUW4FOr3fmmsYmBv20YfsRGEQUDXKUw&id=-aZLWjH1Mk-UZzmPGead5I9DA_EX6qtGpq8zJf2ohI1UQ0NUU1pWQ0taNlE2V0JRUllDQlMwMkdXSi4u)
- [Decided in meeting] Make the Python day last until 16:00
- [Decided in meeting] Seperate email for introduction to course and the prerequisites,
most important info at the top; it's OK to repeat info
- We conclude that the course is improving from the course ratings, all of them have gone up
- [Ri, all, suggest/vote, 5 mins] I think Python by far got the most attention by us. What about try to have seperate meetings going per day?
- BiBjRi: Yes
- [Ri, all] I am happy to see the prereqs page and the obvious love put in it. I am unsure of the page's purpose. Could we come up with a purpose of the page and vote? I volunteer to do the work. If we discuss: The goal of the prereqs page is ...
- BiBjRi: ... that our learners can test/verify that they have the minimum skillset and have installed the minimum requirements for the course
- [other votes]: [other suggestions]
- [Pedro, discuss] Make course material (even) more course agnostic by adding more links to other centers in course material. Bi: we should focus on one or two centers. Bi: in the near future, we may already be using Dardel, so we'll do this automatically. Bi: for UmU, course material must gathered at the course's site (i.e. cannot only link to UmU pages).
- [Bi, discuss] Will we use Rackham or Dardel in the fall? We will decide before summer.
- [Richel, Python & R, discuss] I think the summary of the evaluations of Python and R is 'talk less, demonstrate slower, more time for exercises'. To me, this seems like a recurring pattern. What about we help encourage outselves to commit to fixing this? My suggestion: to the learners' evaluation, add 'Which section(s) scheduled enough time for exercises?' as a means to encourage use to do better
- [VOTED] BiBjPeRi: Yes
- [Ri, Python & R, discuss] When reflecting on the evaluation results, Most questions were useless to me, as they did not help answer my teaching questions. I cannot predict which questions are mandatory, nor which are useful to others. Result: we inherited these questions and we do use these to some extent
- [Agreed] We should check on adding text comments, next to the 'give a rating' qestions
- [Agreed] Which section(s) scheduled enough time for exercises?
- [Is more-or-less already in, keep the original question] What should we keep doing?
- [Is more-or-less already in, keep the original question] What should we improve?
- [Is more-or-less already in, keep the original question] Other comments?
- [AGREED][Ri, Python] Suggest at least 30 mins of time for UPPMAX's interactive+Jupyter: 15 mins is too short
- Fall planning
- week 43: Tue 22 Oct -Fri 25 Oct
- onboarding: Mon 21 Oct
- Python: Tuesday 22nd Oct:
- Julia: Wednesday 23rd Oct:
- R: Thursday 24th Oct:
- Matlab: Friday 25th Oct: Bi + Bj + Pe
- HPC Python: May 15th: leave everything the same: Bi + Bj + Pe teach, Ri assists
- with updates of course from earlier learnings
- py/3.11 (GPU UPPMAX perhaps other solution)
## Planning meeting 2024-03-11 9:30-(max)10:30
- [Richel, 1 min, FYI] Richel has not gotten the link checker to work, probably does not have the time to do so
- skip for now
- .wordlist can be updated by all of us
- [Richel, 3 mins, FYI] Richel has not tested [Python packages](https://uppmax.github.io/R-python-julia-HPC/python/packages.html) and [Python isolated environments](https://uppmax.github.io/R-python-julia-HPC/python/isolated.html) on Kebnekaise yet, instead used the code that was present. AFAIK, I have no access to Kebnekaise
- Birgitte has already double-checked, so we assume it to work :-)
- Should `--devcore` (UPPMAX only) be included in the session on batch?
- [ ] Björn will add it :-)
- Onboarding at 11:00, we predict few people show up :-)
- [Richel, 3 mins, discuss] Time to put schedule of HackMD on Sphinx website?
- Schedule can be assumed to be up-to-date...
- Tip: Richel uses [this website](https://tableconvert.com/restructuredtext-generator) to create RST tables :-)
- [Richel, 3 mins, discuss] Evaluations before Q&A on all days?
- [x] If yes: who does that? Björn will do :+1:
- Evaluations: Birgitte has them, will be in the Q&A document
- Parallel functions
- [x] move to last Jl and R days
- demo on kebnekaise
- [x] Björn added demo box
- exercises on batch
- make clearer instructions how to run
- UPPMAX: Björn
- HPC2N: Pedro
- When parallel tracks, an Umeåner needs to start the recording in both Zoom rooms
- First Zoom room:
- https://umu.zoom.us/j/61922264837?pwd=aUZJNGc2R2ZqdjAwZHIvVTI0cDdLUT09
- Meeting ID: 619 2226 4837
- Passcode: 416707
- Second Zoom room:
- In the Q&A document: https://umu.zoom.us/j/67224822226?pwd=cW1zcjNveUp5OWpMYnl4dTdEQVF0dz09
- [x] Reschedule R to mimic Python day: Björn will do so
- [x] Reschedule Julia to mimic Python day: Björn will contact Pedro when ready
- Exercises Julia added by Pedro
- [x] all except last exercise
- [ ] batch exercise
## Planning meeting 2024-03-06 at 13:00-14:00
- Status
- [Richel, Python, technical] : `python_ML_packages/3.9.5-gpu` seems to works perfectly with the `pytorch_fitting_gpu.py` script:
```
module load python_ML_packages/3.9.5-gpu
git clone https://github.com/UPPMAX/R-python-julia-HPC
cd R-python-julia-HPC
pip install -r requirements.txt
cd Exercises
python pytorch_fitting_gpu.py
```
- Birgitte: `pytorch_fitting_gpu-snowy.sh` does not work. Richel: I indeed needed `pip install -r requirements.txt`. Hence, the metapackage does not work correctly, as you need to install pytorch using pip
- Birgitte: `seaborn-code.py` in [the course content](https://uppmax.github.io/R-python-julia-HPC/python/batchPython.html#serial-code-self-installed-package-in-virt-env) does not work
- comment(BC):
- Seems we have to stick with 3.9.5, since installation of 3.11.8 has not succeeded yet
- If 3.11.8 is installed, use that one. Else, use 3.9.5.
- Decision: Thursday March 7 12:00
- Discussion
- [Richel, Python, isolated environments] The schedule states `**10.45**|Isolated environments (ML, venv, **conda**)|Richel (45-->60)`, with a stress on conda. Sharing the new teaching goals for isolated environments (below), however, showed the need for venv again. What need the teaching goals be?
```
- learners have created, activated, used and deactivated a conda virtual environment
- learners have used an ML package
- learners have heard about venv
```
or back to the earlier: **YES**
```
- learners have created, activated, used and deactivated a venv
- learners have used an ML package
- learners have heard about conda
```
Conclusion: use the good old venv, Richel misunderstood :-)
- Björn moved some content from index page to prereqs. https://uppmax.github.io/R-python-julia-HPC/prereqs.html
- the links for improving programming skills
- most of the cluster information
- Comments?
- Add using 2FA on the ThinLinc local client /Björn
- To discuss:
- Is it OK to take a quick explanation of the most important things
- login & compute nodes and cores
- similarities and differences between Kebnekaise and UPPMAX clusters
- DONE
- Richel: teacher is boss :-) . The UPPMAX docs are tested and nice and used by other courses: prefer working on one source of content
- SSH X forwarding<http://docs.uppmax.uu.se/software/ssh_x_forwarding/>
- DONE
- Björn adds XMING in prereqs
- DONE
- Refer to UPPMAX doc [Remote desktop via webbrowser](http://docs.uppmax.uu.se/getting_started/login_rackham/#remote-desktop), including using 2FA
- DONE
- Text editors: http://docs.uppmax.uu.se/software/text_editors/
- DONE
- Linux: <http://docs.uppmax.uu.se/getting_started/linux/>
- DONE
- [Richel, 5 mins] Suggest to conformize folder names at <https://github.com/UPPMAX/R-python-julia-HPC>: `Exercises`, `R`, `docs`, `summaryPython.rst`, `packages_suggest.rst`, `sequential-python.sh`
- Richel's suggestion: `all_lower_snake_case_with_underscores`, Richel volunteers to do so
- Birgitte: this year folders only, next time I'll promise to rename the files :-) .
- `exercises`, `folder_with_more_names`
- [ ] Richel does it today before 23:59 :+1:
- [ ] Richel checks link checker
- Birgitte: some UPPMAX questions. These were already answered :-)
- Type-alongs
- Björn added ``.. type-along::`` are the tags for type-along blocks.
- Björn can continue for R
- Instructors will add this to their content if it is used in Python
- Next events:
- Onboarding: Monday March 11th 11:00-(max)12:00
- Planning meeting: Monday March 11th 9:30-(max)10:30
## Planning meeting 2024-02-29 11:00-12:00
- Richel will be absent
- Björn and Richel thought that they had a nearly-mandatory event in the afternoon at the R day on March 14th. However, it was in the morning. Vote:
- Björn and Richel teach in the afternoon of the R day, Birgitte and Pedro teach in the morning: :-1:
- Björn and Richel cancel the nearly-mandatory event and teach in the morning: **We do this**
- Move the R day to another date: :-1:
- Latest info: the nearly-mandatory event may be prostponed for other reasons
- Status:
- Problems with ML_packages installation
- ToDos
- Richel
- check 3.11 compatibility with exercises at UPPMAX
- will go through https://uppmax.github.io/R-python-julia-HPC/python/isolated.html and check if it work with python/3.11.8 combined with ML_packages/3.11.8-GPU Tuesday 5th March
- Björn:
- type-along boxes
- julia done?
- index page strip
- Prereqs more info
- Julia parts updates
- quiz
## Planning meeting 2024-02-22 11:00–12:00
- Status
- Diana is installing ML_packages/3.11.8-GPU today
- theano problem??
- Theano is not compatible with modern numpy 1.25.x (as we have with Python 3.1
- pytensor is the continuation
- but use first in HPC-python course
- pytensor will be installed at Rackham
- ToDos
- Björn:
- check 3.11 compatibility with exercises at UPPMAX
- type-along boxes
- Prereqs more info
## Schedule for the spring 2024 version
### Python (Tuesday 2024-03-12)
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus |Birgitte
**9.10** |Python in general |Birgitte
**9.20** |Load modules and run |Birgitte
**9.45** |Break |.
**10:00**|Packages (45-->30) |Richel
**10.30**|Break |.
**10.45**|Isolated environments (ML, venv, **conda**)|Richel (45-->60)
**11:45**|Break or informal chat |Richel
**12.00**|Lunch |.
**13.00**|Batch |Birgitte
**13:20**|GPU |Birgitte
**13.30**|Kebnekaise: Jupyter |Birgitte
. |Rackham: Interactive session and Jupyter |Richel
**13.45**|Break |.
**14.00**|Parallel and multithreaded functions|Pedro
**14.25**|Conclusion & Q/A |Birgitte
**14.45**|Evaluation |.
**15.00**|END
### Julia (Wednesday 2024-03-13)
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus 7 |Björn
**9.10** |Intro, Julia in general 23 |Pedro
**9.30** |Load modules and run 16 |Björn
**9:45** |Break |.
**10:00**|Packages and isolated 47 |Pedro (and Björn)
**11:00**|Break |.
**11:15**|Parallel and multithreaded functions 30|Pedro
**11.45**|Break or informal chat or exer|all?
**12.00**|Lunch |.
**13.00**|Batch and GPU 46 |Pedro
**13.50**|Break |.
**14.00**|UPPMAX: Jupyter and interactive 25 |Björn
. |HPC2N: Jupyter |Pedro
**14.25**|Conclusion and summary, Q/A|Björn
**14.35**|Evaluation |Anon [R volunteers]
**14.45**|Q/A |Anon [R volunteers]
**15.00**|END |.
### R (Thursday 2024-03-14)
Time |Topic |Teacher
---------|---------------------------------|-------
**9:00** |Syllabus |Richel
**9:10** |R in general |Richel
**9:20** |Load modules and run |Richel
**9:45** |Break |.
**10:00**|Packages |Birgitte
**10:30**|Break |.
**10:45**|Kebnekaise, ThinLinc & RStudio |Pedro
. |UPPMAX: ThinLinc, RStudio, inter-|Björn <--- NEW
**11:15**|Parallel |Pedro
**11:50**|Break or informal chat |All
**12:00**|Lunch |.
**13:00**|Isolated environments |Birgitte
**13:20**|Batch |Birgitte
**13:50**|Break |.
**14:00**|ML |Birgitte or Pedro <--- NEW
**14:35**|Conclusion & Q/A |All
**14:45**|Evaluation |.
**15:00**|END |.
## Planning meeting 2024-02-15 11:00–12:00
- How many registered
- 55
- Status
- BC: started prereq page to be filled
- Discuss
- Skip bianca parallel session for all days. Vote yes!
- No intro at 9.00 for slurm
- ToDos:
- Björn:
- type-along boxes
- Py-ml UPPMAX
- Prereqs more info
- Pedro: several docs for parallel
## Planning meeting 2024-02-09 11:00–12:00
- Discuss:
- depth of parallelism/ML for python
- same level as for julia and R?
- Yes, show an ML example
- We use R 4.1.x! R versions 4.3.1 + 4.3. (Birgitte checks the packages)
- HPC2N has R/4.3.2 but a lot fewer packages than for R/4.0.4. I have inquired about getting some packages installed as modules
- 4.3.2 is lacking many packages, including the Bioconductor bundle which is not yet available for installation.
- **4.1.x chosen instead. **
- UPPMAX: 4.1.1
- python_ML new version would be nice [name=Björn] checks
- wish: 3.11.(3,8)
- At HPC2N, Python **3.11.3** is installed. All relevant packages except Theano and ASE are available for that version of Python. We can probably ask for those packages if we need them
- At UPPMAX: **3.11.8**
- julia 1.8.5
- [R, suggest vote] follow pace of schedule or follow pace of learners?
- [VOTED FOR] Pace of schedule with flexibility of 15 mins in both directions
- pro:
- easy to schedule who teaches what
- comfortable to teach
- higher evaluation scores
- clear for learners when takes place what
- con:
- can mismatch with learners
- votes: Birgitte, Björn, Pedro
- Pace of learners
- pro:
- the right speed
- needs procedure, e.g. https://richelbilderbeek.github.io/awk_course/misc/exercise_procedure/
- con:
- harder to schedule
- not everyone comfortable with teaching like that
- setting learners to work will result in lower evaluation scores
- votes: Richel
- [R, suggest vote] evaluation yes/no?
- [VOTED] Yes (pro: we get feedback, con: can be unpleasant): Birgitte, Björn, Pedro, Richel
- No (pro: not unpleasant, con: no feedback to improve on): -
- [R, suggest vote] order: evaluation-then-Q&A or Q&A-then-evaluation?
- [VOTED] evaluation-then-Q&A (pro: learners can leave at Q&A): Birgitte, Björn, Pedro, Richel
- Q&A-then-evaluation: -
- [R, suggest vote] publish evaluation results online yes/no?
- [VOTED] Yes (pro: shows transparency (e.g. https://github.com/richelbilderbeek/teaching), con: not everyone can rightly value an evaluation): Birgitte, Björn, Pedro, Richel
- No (pro: no trouble, con: links and info get lost):
- Menti responsible (the person needs to nbe available all day)
- Python day: no polls, so no person needed
- Julia day: Björn
- R day: Birgitte
- [False positive] Although https://www.uppmax.uu.se/support/courses-and-workshops/r-python-julia links to https://uppmax.github.io/uppmax_intro_python/ it does not matter: it is not the course material :-)
## Planning meeting 2024-01-31
* [Vote] Use Zoom Poll or Menti or text in shared document: will use Menti. Birgitte will prepare
* Zoom Poll: only host
* Votes: Birgitte, Pedro
* Menti: everyone more-or-less needs separate account
* Votes: Richel, Björn, Birgitte
* Plain text (in a shared document)
* Votes: Richel, Pedro, (Birgitte)
* MENTI WON!
* [Richel, FYI] Björn and/or Richel can teach R at March 14th in the morning, but not in the afternoon.
* We rescheduled so that Uppsala people teach in the morning and the Umeå people in the afternoon
* [Richel, vote] some UPPMAX courses are restructured by **referring to the UPPMAX documentation pages**. In that way, content can be found in exactly one place. An example can be found [here](https://uppmax.github.io/uppmax_intro_python/morning_session/working_with_python_scripts/#exercise-1-create-a-python-script). As this course also teaches Kebnekaise, referring to [its documentation](https://www.hpc2n.umu.se/support) would work too. Richel volunteers to do so for the Python course (as he taught another similar Python course too). Good idea yes/no?
* Important with new tab. Try this time!
* VOTE:
* for: Richel, Björn, Birgitte, (Pedro)
* against: (Pedro)
* Evaluations
* Both Julia & R: Type-along clearer (boxes) and talk about it!
* good level
* more exercises
* more about ThinLinc (technical prereqs can be expanded with more info and background and pros and cons)
### Schedule
- slurm is integrated with interactive/batch each day (take a break!)
#### R (Thursday 2024-03-14)
Time |Topic |Teacher
---------|---------------------------------|-------
**9:00** |Syllabus |Richel
**9:10** |R in general |Richel
**9:20** |Load modules and run |Richel
**9:45** |Break |.
**10:00**|Packages |Birgitte
**10:30**|Break |.
**10:45**|Kebnekaise, ThinLinc & RStudio |Pedro
. |UPPMAX: ThinLinc, RStudio, inter-|Richel
**11:15**|Kebnekaise: Parallel |Pedro
. |skip? *UPPMAX: Bianca* |Richel
**11:50**|Break or informal chat |All
**12:00**|Lunch |.
**13:00**|Isolated environments |Birgitte
**13:20**|Batch |Birgitte
**13:50**|Break |.
**14:00**|ML |?
**14:35**|Conclusion & Q/A |All
**14:45**|?Evaluation |.
**15:00**|END |.
* Teachers
* Python (Tue)
* Richèl, same topics as previous time: Packages, Isolated environments, Rackham: Jupyter, Bianca: Conda, interactive
* Birgitte, same topics as previous time
* Julia (Wed)
* Björn (same as last time)
* Pedro
* R (Thu)
* Richel can teach morning only
* Björn teach first hour (afternoon if needed) or standby
## Planning meeting (Jan 24 at 11)
* Discuss
* menti
* Zoom can also do something similar called a Poll, which is ideal for quicker things. It does need to be shared :-)
* :+1: :+1:
* We will vote between using Zoom Poll and Menti next week Wednesday 31 Jan at 13:00, Birgitte will prepare
* We used Python version 3.9.5, because that worked well with ML. We try to go to a newer version of Python, if that has made to works well with ML too.
* Evaluations
* python: done, see results [here](https://github.com/UPPMAX/R-python-julia-HPC/tree/main/evaluations/20231017)
* Julia
* R
* General
* cheat sheets
* short intros
* slurm first 30 minutes everyday or so
* think about extending
* Teachers
* Python (Tue)
* Richèl, same topics as previous time: Packages, Isolated environments, Rackham: Jupyter, Bianca: Conda, interactive
* Birgitte, same topics as previous time
* Julia (Wed)
* Björn (same as last time)
* Pedro
* R (Thu)
* Richel can teach morning only
* Björn teach first hour (afternoon if needed) or standby
* Needed updates
- Py module
- UPPMAX update ML
- R module
- newer?
- Don't go too deep. Examples:
- determining number of cores
- ML and multiple GPUs?
# Autumn 2023
## Dates
* 17-19 October
* py, jl, R
* 9-15
## Debriefing Python day 8 Nov 11.00
Present: Bj and R
- [Evaluation](https://forms.office.com/Pages/AnalysisPage.aspx?AnalyzerToken=gYUW4FOr3fmmsYmBv20YfsRGEQUDXKUw&id=-aZLWjH1Mk-UZzmPGead5I9DA_EX6qtGpq8zJf2ohI1URVZPSUFDRlpCV1BUNzIyQzY1V0pPSFVKUi4u)
- [marked summary](https://docs.google.com/document/d/1K7aw4LxL-PCT6xU3HWs_WTFuvOIc1h35fzj3TzN9p-E/edit?usp=sharing)
- Learnings
- continue
- friendly
- easy asking questions: also thanks to breakout rooms!
- material
- structure
- change?
- make clear in advertisement that packages are a big part in this workshop
- more HPC in the HPC-python
- BO:s
- checking in more frequently: we did well enough
- more flexible in returning to main room: we felt the setup was fine if the times are better matched to the exercise length
- have voluntary exercise rooms: we felt the breakout rooms worked fine, if the times are better matched to the exercise length
- [AGREED] use a silent room
- No time to cover all material
- More to extra reading!
- More time on code-along and exercises: will work when timing of the course matches the observed exercise durations; this will free up 25 mins
- Use more videos; both Bj and R think videos are a useful alternative over a monologue
- Bj comment and opinion:
- videos perhaps not in lecture
- but available as recordings (like before) and session-sliced and available as links on each session page?
- [AGREED] Suggest different lengths:
Topic |Was scheduled|Actual time used|Suggested time
--------|-------------|----------------|--------------
packages|45 mins |15 mins | 30 mins
venv |45 mins |15 mins | 30 mins
Jupyter |15 mins |15 mins | 15 mins
conda |25 mins |25 mins | 30 mins
* [AGREED (implicitly)] Have a pre-course login session for those that need it
* [AGREED (implicitly)] No Zoom chat, only use shared document
* [AGREED (implicitly)] No anonymous evaluation needed if the Google Form is so good
* [DONT: this would only work well for UPPMAX users] Suggest to follow this students' suggestion:
* 'The first should be how to run a simple script. "batch mode" should come before "virtual environments". Also, avoid "pip" at the start, take that later since modules are enough for standard tasks'
* General comments from BB:
* Yes to the pre-course session for onboarding etc.
* Yes to use Q/A document instead of Zoom chat
* Google form seems to be enough for evaluation purposes, yes
* Strongly NOT agreeing on the more videos - if we do, they should be shown in the main room and be strictly the lecture we would otherwise have held (and then I would favour flipped classroom instead of having a course where people just come and watch a video and then we do exercises or whatever).
* There seemed to be unhappiness about the "go to zoom room" -> "go to YouTube and watch a video and then do the exercises there" -> "go back to main room and see lectures etc."
### Planning for next workhop
- Suggested month
- Feb/March
- Suggested teachers
- py:
- Richel: willing to teach whole day if needed, same for being helper
- jl:
- Björn in some parts
- R:
- Richel: willing to be a helper whole day, but open to teach if needed
- Björn interested
## Follow-up after first day
### Learnings
- Batch takes longer time! 30-->45
- Parallel need longer time! 25-->35?
### Changes for julia
- Package+isolated 30 min
- Packages and isolated
- 10 min evaluation
### Changes for R
- Package 30 min
- Isolated 30
- 10 min evaluation
### Julia (Wednesday 2023-10-18)
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus |Björn
**9.10** |Intro, Julia in general |Pedro
**9.30** |Load modules and run |Björn
**10:00** |Break |.
**10:15**|Packages and isolated |Pedro (and Björn)
**11:00**|Break |.
**11:15**|Parallel and multithreaded functions|Pedro
. |Bianca packages |Björn
**11.50**|Break or informal chat or exer|all?
**12.00**|Lunch |.
**13.00**|Batch and GPU |Pedro
**13.45**|Break |.
**14.00**|UPPMAX: Jupyter and interactive |Björn
. |HPC2N: Jupyter |Pedro
**14.25**|Conclusion and summary, Q/A|Björn
**14.35**|Evaluation |Anon [R volunteers]
**14.45**|Q/A |Anon [R volunteers]
**15.00**|END |.
### R (Thursday 2023-10-19)
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus |Björn
**9.10** |R in general |Björn
**9.20** |Load modules and run |Björn
**9.45** |Break |.
**10:00**|Packages |Birgitte
**10.30**|Break |.
**10.45**|Isolated environments |Birgitte
**11.15**|Kebnekaise: Parallel |Pedro
. |*UPPMAX: Bianca* | Björn
**11:50**|Break or informal chat |All
**12.00**|Lunch |.
**13.00**|Batch |Birgitte
**13:20**|Parallel, ML |?
**13.30**|Kebnekaise, ThinLinc & RStudio|Pedro
. |UPPMAX: ThinLinkn, RStudio, inter-|Björn
**13.45**|Break |.
**14.25**|Conclusion & Q/A |All
**14.45**|Evaluation |Anon [R picks someone]
**15.00**|END |.
## Next meeting Mon 16 Oct 11.00
- Status
- all OK with parallel session materials
- R: not yet, working on it, will be ready, hence probably not in meeting. Looking forward to tomorrow :-) !
- R: to overcommunicate, for tomorrow: as agreed upon earlier, in the session 'Isolated environments' 11:00-11:45 I will only do `virtualenv`, as that works on both clusters. Conda is in a parallel session at 14:00.
- [x] BC: I move the conda part in material then to afternoon! If you don't do it first!
- [x] BC: Conda is removed from packages but available in condaUPPMAX. I kept an introduction in the packages session and gave a link to the afternoon.
- [X] BC: Updating schedule
- R: To overcommunicate: evaluator at 14:45 has been arranged (Wednesay and Thursdays R will do it). Using a person and doing an evaluation under course time has given 24 out of approx 27 responses [in another course](https://github.com/NBISweden/workshop-python/blob/ht23/evaluation/Intro%20to%20Python%202023%20evaluation.csv)
- To discuss
- same presentation style?
- half screen with material + terminal + history
- shell-sharing: https://enccs.github.io/instructor-training/teaching-mechanics/#shell-sharing
- R: I think this is a good idea, so I will try to do this most of the time. On the other hand, I feel each teacher should be free to do what he/she prefers
- we do as we prefer!
User
```bash
╔════════════╗ ╔══════════════╗
║ ║ ║ TERMINAL ║
║ ║ ║ WINDOW ║
║ ZOOM ║ ╚══════════════╝
║ WINDOW ║ ╔══════════════╗
║ ║ ║ BROWSER ║
║ ║ ║ W/MATERIAL ║
╚════════════╝ ╚══════════════╝
```
Teacher (sharing left/right portion of screen)
```bash
╔══════════════╗
║ BROWSER ║
║ W/MATERIAL ║
╚══════════════╝
╔══════════════╗
║ TERMINAL ║
║ WINDOW ║
╚══════════════╝
╔══════════════╗
║ HISTORY ║
║ WINDOW ║
╚══════════════╝
```
## Meeting Tue 10 Oct 15.00
- To discuss
- DASK?
- Is installed in py3.11 on UPPMAX
- just mention this time?
- include in hpc-python Dec 1?
- ToDos
- [ ] Björn checks everything is working on UPPMAX
- [x] First page common for all days
- changes, shortenings
- code of conduct
- [x] Björn COMMON
- parallel
- add dask+links in the end
- [x] Björn: list of links to centres
- langauage specific + common
- [x] Björn: courses at all levels in a good format
- Status
- exercises?
- start!
- discussions?
- perhaps not
- [x] can we copy the parallel?
- or put under a menu-bar header "COMMON" or something else. YES
-
- Workshop days
- BO rooms
- silent
- many rooms for exercises
- interaction room
- force: works!
## Next meeting Thu 28 Sep 13.00
- To discuss:
- evaluation in lesson-time?
- Publish results in raw form online?
- Status
## Schedule for the fall 2023 version
### Python (Tuesday 2023-10-17)
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus |Birgitte
**9.10** |Python in general |Birgitte
**9.20** |Load modules and run |Birgitte
**9.45** |Break |.
**10:00**|Packages |Richel
**10.45**|Break |.
**11.00**|Isolated environments |Richel
**11:45**|Break or informal chat |Richel
**12.00**|Lunch |.
**13.00**|Batch |Birgitte
**13:20**|GPU |Birgitte
**13.30**|Kebnekaise: Jupyter |Birgitte
. |Rackham: Jupyter |Richel
**13.45**|Break |.
**14.00**|Parallel and multithreaded functions|Pedro
. |Bianca: Conda, interactive|Richel
**14.25**|Conclusion & Q/A |Birgitte
**14.45**|Evaluation |Anon [R picks someone]
**15.00**|END |.
### Julia (Wednesday 2023-10-18)
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus |Björn
**9.10** |Intro, Julia in general |Pedro
**9.30** |Load modules and run |Pedro
**10:00** |Break |.
**10:15**|Packages and isolated |Pedro and Björn
**11:00**|Break |.
**11.15**|Exercises and informal chat|All
**12.00**|Lunch |.
**13.00**|Batch and GPU |Pedro
**13.30**|UPPMAX: Jupyter and interactive |Björn
. |HPC2N: Jupyter |Pedro
**13.45**|Break |.
**14.00**|Parallel and multithreaded functions|Pedro
. |Bianca packages |Björn
**14.25**|Conclusion and summary, Q/A|Björn
**14.45**|Evaluation |Anon [R volunteers]
**15.00**|END |.
### R (Thursday 2023-10-19)
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus |Björn
**9.10** |R in general |Björn
**9.20** |Load modules and run |Björn
**9.45** |Break |.
**10:00**|Packages |Birgitte
**10.45**|Break |.
**11.00**|Isolated environments |Birgitte
**11:45**|Break or informal chat |All
**12.00**|Lunch |.
**13.00**|Batch |Birgitte
**13:20**|Parallel, ML |?
**13.30**|Kebnekaise, ThinLinc & RStudio|Pedro
. |UPPMAX: ThinLinkn, RStudio, inter-|Björn
**13.45**|Break |.
**14.00**|Kebnekaise: Parallel |Pedro
. |UPPMAX: Bianca | Björn
**14.25**|Conclusion & Q/A |All
**14.45**|Evaluation |Anon [R picks someone]
**15.00**|END |.
### Next meeting:
10th October 2023, 15:00-16:00
## Python-specific meeting 19 Sep 13.00-13.30
- Differences between clusters
- Do all students work on the same cluster: no
- Is it possible to get access to HPC2N: yes, B will add R
- Course material shows differences in tabs versus links? Decision: three tabs, 1 for UPPMAX, 1 for HPC2N, links in third tab
- Interactive jobs work best at UPPMAX, at end for UPPMAX only
- Preparation
- B sets up Zoom room, will be recorded, sent to YouTube channel, B edits movie as well :-)
- Planned changes
- More exercises for the quicker students: R and B will add for own sessions
- Assume students learn Python themselves
- Decision: Add parallel intro material, by Pedro. B asks Pedro
- Decision: Add GPU intro material, by Birgitte
- Teaching schedule (see schedule below)
- R and B will discuss on SNIC Slack
- TODO R: Scheduling 11:30 'Catching up' makes no sense: talk less and/or have less exercises instead. Or phrased differently: what would the learning outcome be of 'Catching up'?
- TODO R: vote: 15 mins break, scheduled at `x:45-y:00` (also from 11:45-12:00!)
- TODO R: I need 5 mins for the syllabus. Why is `+thinlinc` in the schedule at 'Intro syllabus'?
- TODO R: It feels needlessly clumsy that there are two teacher switches in the first 45 mins. What about one teacher does the full first 45 mins?
- TODO R: same needless switching for 13:00-13:50 (and why `50`, instead of `45`?)
- TODO Teach both `conda` (Binca only) and `venv`/`virtualenv`. `conda` is only for Bianca, so fewer students expected
- Evaluations
- R: Earlier evaluations:
- Where can we find them? B sends R the CSV file
- At the end of the third day
- R: When? For example, at the end of every day?
- At the end of 3rd day or every day?
- Vote: Split up: Richel,
- Actual vote at bigger meeting, B will (re)schedule and bring it up
- R: Publish results in raw form online
- Actual vote at bigger meeting and bring it up
### Present schedule
Suggested Python schedule by R&B (old is below this one):
Time |Topic |Teacher
---------|---------------------------|-------
**9.00** |Syllabus |B
**9.10** |Python in general |B
**9.20** |Load modules and run |B
**9.45** |Break |.
**10:00**|Packages |R
**10.45**|Break |.
**11.00**|Isolated environments |R
**11:45**|Break or informal chat |R
**12.00**|Lunch |.
**13.00**|Batch |B
**13:20**|GPU |B
**13.30**|Kebnekaise: Jupyter |B
. |Rackham: Jupyter |R
**13.45**|Break |.
**14.00**|Parallel and multithreaded functions|Pedro
. |Bianca: Conda, interactive|R
**14.30**|Conclusion |B
**14.45**|Evaluation |Anon [1]
**15.00**|END |.
* [1] A person that the students have never met yet, to ensure a proper anonymous evaluation. R will recruit
* Zoom: 1 silent room
OLD:
|Topic|Suggested Timing|Comment|Teacher|
|-----|--------|-|-|
|**9.00** Index intro|15|+ thinlinc |Richel|
|**9.15** Intro to python|10|Keep detailed schedule and link to HackMD|Birgitte|
|**9.25** Load and run|20|(can be shorten to 15m perhaps)|Richel|
**9.45** Break| 15
|**10:00** Packages|25| |Richel|
**10.45** break| 15
|**11.00** Isolated environments| 30| | Richel
|**11:30** Catching up and exercises|30|
|**12.00** Lunch| 60
|**13.00** Batch|25|| Birgitte
|**13.25** Jupyter with remote desktop|25| |Richel and Birgitte in parallel session
|**13.50** break| 15
**14.05** Parallel function intro|15|**NEW**|
|END Interactive session on command-line (UPPMAX only)|25| |Richel
|END Packages: Conda|20| |Richel
|**14.20** Summary|10||Richel|
|**14.30** Catching up, questions and exercises| 30||All
**15.00** END
## Next meeting Fri 15 Sep 11.00
- [x] Richel assumes to teach Python on Oct 17th
- [x] Richel added spellcheck and linkcheck GH-actions
- https://github.com/UPPMAX/R-python-julia-HPC/tree/main/.github/workflows
* Status
- project is active
- Todo:s
- Reservation [name=Diana]
- change start date to asap, but keep end date as Nov 1 [name=Diana]
## Next meeting Wed 6 Sep 10-11
- keep version?
- py3.9.5 or newer
- check packages until next meeting
- 3.10.X?
- same for R and Julia
- R/4.0.4
- 4.1.2 Keb
- 4.1.1 Rac
- julia/1.8.5
- stick with this, not very old
- 'til next time
- add GPU R??
- start thinking of the parallel intro material
- projects
- rackham
- snowy + reservation
- kebne
## Timings
### Python
- Table is based on 9.00-12.30 and 1x15 + 2x5 min breaks
- modified to 9-15
|Topic|Suggested Timing|Comment|Teacher|
|-----|--------|-|-|
|Index intro|15|+ thinlinc |Richel|
|Intro|10|Keep detailed schedule and link to HackMD|Birgitte|
|Load and run|20|(can be shorten to 15m perhaps)|Richel|
|Packages|25| (buffert time)|Richel|
|Packages: Conda|20| |Richel
|Isolated| 30| Plan for extra time as we do it together| Richel
|Catching up and exercises|30|
|Lunch
|Batch|25|slightly more effective| Birgitte
|Interactive, more jupyter|25| |Richel
|Parallel intro|15||
|Summary|10||Richel|
|Questions|15||All
|Catching up and exercises| 20||All
### Julia
- Table is based on 9.00-12.30 and 1 15 +2 5 min breaks
- short intro to parallel
- include jupyter
|Topic|Suggested shortening|Comment|Teacher|
|-----|--------|-|-
|Index intro|5|10|Move some practical to overview|Björn
|Intro|10||Pedro
|Load and run|20|(can be shorten to 15m perhaps)|Pedro
|Isolated| 30| Plan for extra time as we do it together| Pedro
|Packages at UPPMAX|20| (buffert time)| Björn
|Batch|25|slightly more effective|Pedro
|Interactive|15||Björn
|Exercises| 20||All
|Summary| 10| |Pedro + Björn
|Questions|?|10 ||All
### R
- End already at 12?
- proposed R scheddule:
https://uppmax.github.io/R-python-julia-HPC/R/intro.html
- Table is based on 9.00-12.00 and 1x15 + 1x5 min breaks
|Topic|HPC-Python|Suggested timing|Comment|Teacher|
|-----|----------|--------|-|-
|Index intro|10|Move some practical to overview|Matias|
|Intro|10|Keep detailed schedule and link to HackMD|Matias
|Load and run|20|(can be shorten to 15m perhaps)|Birgitte
|Packages|20| (buffert time)|Birgitte
|Isolated|5-10|renv + mention Conda| Matias
|Batch incl GPU|25|slightly more effective|Birgitte
|Interactive| 15?| |Matias
|ThinLinc+RStudio| 10-15 | | Matias
|Exercises| 20||All
|Summary| 10| |Matias
|Questions|10 ||All
## Meeting 11 Aug
- Changes
- more HPC?
- not parallel
- mention gpu also for R
- more exercises!
- extra time in the end (1 hr or so)
- assume students attend prereqs
- basic programming Python
- CodeRefinery https://coderefinery.github.io/data-visualization-python/python-basics/
- UPPMAX https://uppmax.github.io/uppmax_intro_python/
- Scicomp Aalto intermediate https://scicomp.aalto.fi/training/scip/python-for-scicomp-2022/
- Julia
- aalto https://github.com/AaltoRSE/julia-introduction
- enccs
- caRPENTRY https://carpentries-incubator.github.io/julia-novice/
- R
- carpentry https://swcarpentry.github.io/r-novice-gapminder/index.html
- intro course text material (recordings for Kebnekaise?)
- linux
- slurm
- how to do on other Naiss systems
- tabs
- or cheat sheets
- web site
- UNIVERSITY
- GITHUB: INCLUDE REGISTRATION LINKS
- Last course 45 in total
- py: c. 40
- jl: c. 15 --> 8
- R: c. 30
# Spring 2023
## Dates
* 8-10 February
* half-days
## Meetings
https://umu.zoom.us/j/65560989451
- [x] 11 Jan 13-14.
- [x] 18 Jan 13-14
- [x] 25 Jan 13-14
- [X] 1 Feb 13-14
- [ ] 6 Feb 10.15
- [ ]
## Status
- Python
- minor fixes
- mention Conda problems with interaction to other modules
- summary
- Julia
- Some new boxes/images(?)
- move `iJulia` to interactive @bclaremar
- mention `-l` in batch scripts UPPMAX @bclaremar
- interactive @bclaremar
- summary
- R
- load_run
- mention R_packages
- packages
- example
- R_packages on UPPMAX
- isolated section (short)
- renv
- rewrite somewhat (now more or less a plagiarism)
- Batch
- examples
- UPPMAX Parallel
- UPPMAX Gpu
- exercise
- interactive+RStudio
- restructure
- example?
- exercise
- summary
## Exercises on Zoom
- breakout rooms for specific help
- silent room
## Teachers (at least one per site)
- Python 8 Feb
- HPC2N: [name=Birgitte, Pedro]
- UPPMAX: [name=Björn]
- helper: [name=Diana]
- sum: 4 people
- Julia 9 Feb
- HPC2N: [name=Pedro]
- UPPMAX: [name=Björn]
- helper: [name=Birgitte]
- sum: 3 people
- R 10 Feb
- HPC2N: [name=Birgitte, Pedro]
- UPPMAX: [name= Matias]
- helper: [name=Björn]
- sum: 4 people
## Helpers
- Avail everyday
- Birgitte
- Pedro
- Björn
- Pavlin
- Python
- Diana
- Pavlin
- Julia
- Pavlin
- Birgitte
- R
- Matias
- Pavlin
- Björn
- Pedro
## Timings
### Python
- Table is based on 9.00-12.30 and 1x15 + 2x5 min breaks
|Topic|HPC-Python|Suggested timing|Comment|Teacher|
|-----|----------|--------|-|-|
|Index intro|5|15|+ thinlinc |Björn|
|Intro|30|10|Keep detailed schedule and link to HackMD|Birgitte|
|Load and run|20|20|(can be shorten to 15m perhaps)|Birgitte|
|Packages|16|20| (buffert time)|Björn|
|Packages: Conda|15|15| |Björn
|Isolated|12+15(site)=27| 30| Plan for extra time as we do it together| Björn
|Batch|28|25|slightly more effective| Birgitte
|Interactive|15 |15| |Björn
|Exercises| ?| 20||All
|Summary| 7| 10| Don't hurry too much|Björn|
|Questions|?|10||All
### Julia
- Table is based on 9.00-12.30 and 1 15 +2 5 min breaks
|Topic|HPC-Python|Suggested shortening|Comment|Teacher|
|-----|----------|--------|-|-
|Index intro|5|10|Move some practical to overview|Björn
|Intro|30|10||Pedro
|Load and run|20|20|(can be shorten to 15m perhaps)|Pedro
|Isolated|12+15(site)=27| 30| Plan for extra time as we do it together| Pedro
|Packages at UPPMAX|16|20| (buffert time)| Björn
|Batch|28|25|slightly more effective|Pedro
|Interactive|15 |15||Björn
|Exercises| ?| 20||All
|Summary| 7| 10| Don't hurry too much|Pedro + Björn
|Questions|?|10 ||All
### R
- End already at 12?
- proposed R scheddule:
https://uppmax.github.io/R-python-julia-HPC/R/intro.html
- Table is based on 9.00-12.00 and 1x15 + 1x5 min breaks
|Topic|HPC-Python|Suggested timing|Comment|Teacher|
|-----|----------|--------|-|-
|Index intro|5|10|Move some practical to overview|Matias|
|Intro|30|10|Keep detailed schedule and link to HackMD|Matias
|Load and run|20|20|(can be shorten to 15m perhaps)|Birgitte
|Packages|16|20| (buffert time)|Matias
|Isolated|| 5-10|renv + mention Conda| Matias
|Batch|28|25|slightly more effective|Birgitte
|Interactive|| 15?| |Matias
|ThinLinc+RStudio| |10-15 | | Matias
|Exercises| ?| 20||All
|Summary| 7| 10| |Matias
|Questions|?|10 ||All
## Zoom
- Lecture recorded in one room
- Exercises splitted into
## Microsoft-365
- 3 seperate pages on Monday
## Exercises
- 1-3 per topic
## Homepages
- HPC2N: https://www.hpc2n.umu.se/events/courses/2023/r-python-julia
- UPPMAX: https://www.uppmax.uu.se/support/courses-and-workshops/r-python-julia
## Material type
- Choose one or several
- **GH pages** at UPPMAX [name=Björn]
- sphinx
- MkDocs
- MD on GH
- PPT/PDF
- Like Git course??
- two repos
- scripts for creating material
- Exercises...
## Homepage for material
- logo: remove SNIC
## Structure of the days 9.00-12.30 (2 breaks)
- 2 hours lessons?
- c. 30-45 m with exercises split?
- ending summary with questions
## GH issues
- Python
- merge Conda into packages [name=Björn]
- merge UPPMAX ad HPC2N sections
- Julia
- load_run
- packages
- R
- intro
- load_run
- packages
## Material
* generally
* 10-15 m intro to the languages
* load module + run (interactive+scripts)
* working with packages
* py
* virt env
* pip
* conda (users may come to UPPMAX in future) (not splitted)
* very briefly Bianca (advertise Bianca course)
* batch jobs
* serial vs parallel running
* (not scripting)
* examples integrated
* (type-along examples kept)
* *break*
* exercises 30
* in the end
* same as code-along but other package
* summary 5
* questions 10
* Day 1
* python/3.9.5
* Python (settled)
* Based on material from HPC Python (https://www.hpc2n.umu.se/events/courses/2022/python-in-hpc)
* https://uppmax.github.io/HPC-python/
* modules/packages
* installing methods
* pip
* virtualenv
* conda (UPPMAX)
* Template for batch script + running
* HPC2N Python package install docco: https://www.hpc2n.umu.se/resources/software/user_installed/python
* UPPMAX background: https://www.uppmax.uu.se/support/user-guides/python-user-guide/
* Day 2
* Julia 1.8.5
* Björn installerar
* Julia (settled)
* UPPMAX background: https://www.uppmax.uu.se/support/user-guides/julia-user-guide/
* HPC2N background: https://www.hpc2n.umu.se/resources/software/julia
* Day 3
* R/4.0.4 (4.1.1 UPPMAX)
* R (settled)
* Maybe use some from HPC2N/PDC course on R in HPC (14-15 December 2022): https://www.hpc2n.umu.se/events/courses/2022/R-in-HPC
* UPPMAX background: https://www.uppmax.uu.se/support/user-guides/r-user-guide/
* HPC2N R package install docco: https://www.hpc2n.umu.se/resources/software/user_installed/r
## Misc
- in the future
- rust
- next HPC-python
- 12 April
- Refer back to the package-installation in this current course