Skip main navigation

Hands-on: Optimising heat equation solver

In this exercise you can practice different optimization techniques with the heat equation solver.
© CC-BY-NC-SA 4.0 by CSC - IT Center for Science

In this exercise you can practice different optimization techniques with the heat equation solver.

The code for the exercise is located under under cython/heat-equation.

Creating a Cython extension

Write a setup.py for creating a Cython version of heat.py
module, and use it from the main program heat_main.py.
How much does simple Cythonization (i.e. diminishing the interpreting
overhead) improve the performance?

Optimising

Based on the profile in the performance measurement exercise optimise the most time
consuming part of the algorithm. If you did not finish the profiling exercise, you can look at example profile here.

Utilize all the tricks you have learned so far (type declarations,
fast array indexing, compiler directives, C functions, …).

Investigate and comment how the different optimizations affect the performance. You
can use applications own timers and/or timeit. Annotated HTML-report with
cython -a … can be useful when tuning performance.

When finished with the optimisation, compare the performance to Python/NumPy model solution (in numpy/heat-equation), which uses array operations. You can play around also with larger input data as provided in bottle_medium.dat and bottle_large.dat.

© CC-BY-NC-SA 4.0 by CSC - IT Center for Science
This article is from the free online

Python in High Performance Computing

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education