Python for SciComp

Meeting notes 11.6

Attending: Simo, Jussi, Lauri, Enrico, Jarno, Thomas, Hossein, Samantha

https://www.futurelearn.com/courses/python-in-hpc
https://github.com/csc-training/hpc-python
https://aaltoscicomp.github.io/python-for-scicomp/

  • Python for SciComp will be moved to CodeRefinery
  • There are more lessons than will be provided in workshop
  • Self-contained lessons could be added
  • For current Python4SciComp course: no HPC access

Q: Is CSC stuff too advanced?
- CSC stuff: optimizing performance of code by understanding how they work
- Could be second week? -> Advanced methods; sign up individually?
- Some basic parts could be integrated
- Feedback on Python4SciComp always mixed: too easy - too advanced
- Idea: Provide insight to tools that are already out there
- Advanced part: There has not been a space for it
- Challenge: Pre-knowledge of people varies, "advanced" does not mean same thing to everyone
- optimization is very "situation specific", which makes general teaching about it very difficult, as in "90% of what we will tell you will probably never be of use for you, as it's a different type of optimization"
- Python4SciComp does not go into details about how to make it faster, more how to make it work (be aware on tools that help)

  • Potentially interested in transferring to CodeRefinery materials
    • HPC python materials currently as Markdown slides
    • Need some more context

Q: HPCPython Mooc still ongoing?
- Not currently running
- Materials need to be updated anyway

  • Materials as full text for self learning and for following up

  • Examples are already there and good! (in HPC Python), only needs the context

  • Demos also exist, are run during presentation

  • Feedback from 2024: Last day parallel programming: Some participants said it went over their head (might not need it (yet)) -> advanced topics are good to present but keep them short and "simple", not too scary

  • Next iteration of Python4 SciComp likely in end of November

    • Could have some additions from HPC python materials as short episode? -> self contained
    • Could also be some HPC related content in the lesson materials (not workshop)
    • Lauri interested in adding a topic and teaching for November edition
      • performance
      • cython
      • profiling, debugging could also be useful to add to

Q: Integration of HPC into Python4SciComp?
- Advanced course? -> Separate materials/workshop but connected (!)
- Starting point for now: Guest lecture from "advanced part" in Python4SciComp in November
- Ask participants what topics they would like to hear in future
- Suggestion: Intro to GPU python (cupy)
- people might never need it, risk: people use it even if they do not need it
- could be demo, instead of full episode?
- Should be something that gets people interested: demo of showing something big is possible,
- Suggestion: Add general parts to Python4Scicomp and run a second course, the week after maybe labeled "Python for HPC", where all the optimisation topics are discussed, GPU coding libraries are introduced etc pp

Action points

  • Bring one self contained lesson from hpc-python to the actual course in November (e.g. cython that people can run themselves in their laptops, or mini demo of cupy+gpu vs cpu)
    • Lauri is happy about this :)
  • Hpc-python could become an "Advanced python for sci comp" kind of part 2 with its own implementation (which would require HPC access etc)
    • I personally don't like "Advanced python" that much, since it's too general. Isn't this more Python for HPC?
  • Intro to CodeRefinery lesson template for Lauri (Samantha organizes with others from CodeRefinery team)