This week, David Dickinson gave the first of our hands-on sessions,
teaching us about how to profile software. Profiling is an essential
tool in any software developer’s toolbox, allowing us to find
bottlenecks in the code and target our optimisation efforts.
[Read More]
Optimisation
Richard Evans gave an introduction to optimising your code, showing us
some tips and tricks to help the compiler generate optimal code, and
ultimately give us our simulation results faster.
Compilers
We often treat compilers as a bit of a black-box, without really
understanding what it is they are doing. Today, I will take a brief
tour through the different parts of a compiler to hopefully demystify
them somewhat.
[Read More]
What is a CPU?
This week, Phil Hasnip gave us a guided tour of a modern CPU,
explaining how the different pieces, from ALU to pipelines work
together to crunch numbers and show us pictures of cats, instantly.
Documentation
Helping future you
It happens to the best of us – you come across some incomprehensible code and wonder “who on earth wrote this?” only to discover it was you, a mere six months ago. Writing documentation is one of those tasks that often feels like a bit of a chore, but is...
[Read More]