Introduction to running R, Python, and Julia in HPC
Learn how to run R, Python, and Julia at Swedish HPC centres. We will show you how to find and load the needed modules, how to write a batch script, as well as how to install and use your own packages, and more.
The course will consist of lectures interspersed with hands-on sessions where you get to try out what you have just learned.
We will mainly use UPPMAX for the examples for the course, but there is little difference in how you use the various HPC centres in Sweden and you should have no problems applying the knowledge to the other systems.
This course will consist of three half-days, one for each language. It is a cooperation between HPC2N and UPPMAX.
NOTE: the course will NOT cover the topic of improving your programming skills in R, Python, or Julia. Likewise, we will not cover advanced techniques for code optimization.
Remote/online participation: The course will be completely online and we will use Zoom. More information about connecting and such will be sent to the participants close to the course.
Prerequisites: some familiarity with the LINUX command line (recordings from HPC2N:s Linux intro and UPPMAX Intro course), basic R, Python, or Julia, depending on which language(s) you are interested in. See below for links to useful material if you need a refresher before the course.
The full schedule can be found on the rendered presentations for each course day at https://uppmax.github.io/R-python-julia-HPC/.
Day 1, Tuesday, 17 October
- 09:00 - 15:00 Python
Day 2, Wednesday, 18 October
- 09:00 - 15:00 Julia
Day 3, Thursday, 19 October
- 09:00 - 15:00 R
- Exercises and .rst files can be downloaded from the course's GitHub page: https://github.com/UPPMAX/R-python-julia-HPC
- Rendered presentations can be found at https://uppmax.github.io/R-python-julia-HPC/
- Recordings: link TBA
Links to refresher material:
This is NOT in any way mandatory for participation or part of the course. It is a list of links to useful refresher material for those who would like to read up on Python/Julia/R/Linux/etc. before the course.
- CodeRefinery: https://coderefinery.github.io/data-visualization-python/python-basics
- UPPMAX: https://uppmax.github.io/uppmax_intro_python
- Scicomp Aalto Univ. (intermediate): https://scicomp.aalto.fi/training/scip/python-for-scicomp-2022
- Aalto Univ.: https://github.com/AaltoRSE/julia-introduction
- Software Carpentry: https://carpentries-incubator.github.io/julia-novice
- Software Carpentry: https://swcarpentry.github.io/r-novice-gapminder/index.html
- Parallel R: https://github.com/menzzana/parallel_R_course
- Linux intro
- Linux intro from "Introduction to Kebnekaise": https://github.com/hpc2n/intro-course/blob/master/slides/1.linux.pdf (Recordings)
- Material contained in the UPPMAX introduction course: https://www.uppmax.uu.se/support/courses-and-workshops/introductory-course-summer-2023
- Contained in the "Introduction to Kebnekaise" course (part 3 and 4): https://github.com/hpc2n/intro-course/tree/master/slides (Recordings)
- Material contained in the UPPMAX intro course: https://www.uppmax.uu.se/support/courses-and-workshops/introductory-course-summer-2023
Time and Dates: 17-19 October 2023, three halfdays, one for each language, 9:00 - 15:00 each day. The last hour each day will be used for extra time for exercises.
Location: ONLINE. Zoom link will be sent to participants a few days before the course.
Deadline for registration: 9 October 2023
Participation in the course is free.
Please make sure have an account at SUPR as well as at UPPMAX or HPC2N if you want to participate in the hands-on part of the training. There will be a course project that can be used to run the examples in during the hands-on. If you don't have an account at SUPR and/or UPPMAX/HPC2N, you will be contacted with further instructions for how to create those. You are encouraged to sign up to SUPR as soon as possible after registering for the course.
NOTE: Kebnekaise will become a local resource. Please also read the page about "Kebnekaise will be retired as a national resource". HPC2N accounts are ONLY meant for people who are at Umeå university, one of HPC2N's partnersites (IRF, LTU, MIUN, SLU), or are in a research group with a PI at one of those. Everyone else should get an account at UPPMAX for this course.
Course project: As part of the hands-on, you will be given temporary access to a course project, which will be used for running the hands-on examples. There are some policies regarding this, that we ask that you follow:
- You may be given access to the project before the course; please do not use the allocation for running your own codes in. Usage of the project before the course means the priority of jobs submitted to it goes down, diminishing the opportunity for you and your fellow participants to run the examples during the course. You can read more detailed information about the job policies at HPC2N here and the job policies of UPPMAX can be found under each of their specific system pages.
- The course project will be open 1-2 weeks after the course, giving the participants the opportunity to test run examples and shorter codes related to the course. During this time, we ask that you only use it for running course related jobs. Use your own discretion, but it could be: (modified) examples from the hands-on, short personal codes that have been modified to test things learned at the course, etc.
- Anyone found to be misusing the course project, using up large amounts of the allocation for their own production runs, will be removed from the course project.
- You will likely also be given access to a storage area connected to the compute project. Any data you store there should be course-related and if you wish to save it you should copy it to somewhere else soon after the course as it will be deleted about a month later.
The course uses computing resources provided by the Swedish National Infrastructure for Computing (SNIC) at HPC2N partially funded by the Swedish Research Council through grant agreement no. 2022-06725.
For registration, please fill in the form at the HPC2N site.