Acknowledgements
Last updated on 2024-03-20 | Edit this page
Funding
The development of this course was funded by the University of Sheffield to support researchers working with their Stanage HPC system.
Authorship
The initial materials were authored by Robert Chisholm, with support from various colleagues within the university’s Research Software Engineering and Research IT teams.
Additional consulting was provided by James Kilbane a close friend (and general rubber duck).
Resources
Most of the content was drawn from the education and experience of the author, however the below resources provided inspiration:
- High Performance Python, 2nd Edition: This excellent book goes far deeper than this short course in explaining how to maximise performance in Python, however it inspired the examples; memory allocation is not free and vectorisation.
- What scientists must know about hardware to write fast code: This notebook provides an array of hardware lessons relevant to programming for performance, which could be similarly found in most undergraduate Computer Science courses. Although the notebook is grounded in Julia, a lower level language than Python, it is referring to hardware so many of same lessons are covered in the memory episode.