#IT-03-27 Python in High Performance Computing
About CoursePartnership for Advanced Computing in Europe (PRACE)
Speed up Python programs using optimisation and parallelisation techniques
The Python programming language is popular in scientific computing because of the benefits it offers for fast code development. The performance of pure Python programs is often suboptimal, but there are ways to make them faster and more efficient.
On this course, you’ll find out how to identify performance bottlenecks, perform numerical computations efficiently, and extend Python with compiled code. You’ll learn various ways to optimise and parallelise Python programs, particularly in the context of scientific and high performance computing.
- Performance challenges of Python programming language
- Performance analysis of Python programs
- Efficient numerical calculations with NumPy
- Using compiled code with Python
- Interfacing Python to libraries written in other programming languages
- Parallel programming with Python
What Will I Learn?
- Improve performance of Python programs
- Apply parallelisation techniques using Python
- Calculate numerical expressions efficiently in Python
- Identify performance bottlenecks in Python programs
- Develop higher performance extensions to Python
Topics for this course
Welcome to the course
Welcome to Python in High Performance Computing00:01:37
Prerequisities and structure of the course
Setting up the programming environment
Performance challenges in Python
Outline of Python performance issues00:00:54
Why are Python programs slow?
Experiences about performance of Python programs
Where program spends time?
Using applications own timers
Measuring small code snippets with timeit
Introducing heat equation
Hands-on: Performance analysis of heat equation solver
Pros and cons of various performance analysis approaches
It was a good course for me to learn how to identify performance bottlenecks, perform numerical calculations efficiently, and extend Python with compiled code.
Jussi Enkovaara is so interesting, I am deeply in love with this lecturer, the course is very interesting.
In this course I learned various ways to optimize and parallel Python programs, especially in the context of science and high performance computing. Very good course. I suggest you take a look at it if you're learning programming.
The Python programming language is popular in scientific computing, and I've always wanted to learn, well, the wired programming courses on this platform.