High performance summer
Hello and welcome to my blog!
This blog will be a companion in this journey through High Performance Computing (HPC), and I will try to update it frequently. In this first post I will introduce myself and briefly the project.
My name is Tiziano, I live in Italy and, when I don’t code, I enjoy playing chess and board games, playing the piano, playing with cats.
I obtained my BSc in mathematics last September. During my undergraduate studies I grew an interest for math applications, coding, and the algorithmic side of mathematical proofs; I also attended a number of computational laboratories, on physics simulations, cellular automata, graphs, state machines, number theory – to mention a few.
In the meanwhile, thanks to online courses, I approached the broad field of data science, in particular natural language processing (NLP). As a consequence, my bachelor thesis was on weighted automata in NLP and I ended up enrolling in the MSc in data science at Padua University.
The way I approached the world of supercomputers is perhaps unusual: I had courses on mathematical optimisation and, when coding, I am also interested in speed and efficiency. All this led to a chain of thoughts and to some research on code optimisation; I tried out some programming contests, then I found some parallel computing courses, and eventually I discovered HPC and this Summer (School) of HPC, organised by PRACE (Partnership for Advanced Computing in Europe). It is a programme for students interested in working on the topic and willing to undertake HPC projects, as well as to try to popularise HPC itself.
I immediately knew that I wanted to participate, so I applied right away! The field in general was very interesting to me and the proposed projects in particular looked intriguing, as far as I could understand. When, after a coding test and a motivation letter, I discovered that I had been accepted, I felt super excited!
About the project
Of all this year’s projects, my colleague Morten and I have been assigned project 2125, which has the slightly cryptic name of “Scaling HMC on large multi-CPU and/or multi-GPGPUs architectures”. We will implement an algorithm known as Hamiltonian Monte Carlo (the HMC in the project title) that is used in statistics, and computational physics, for ‘sampling from probability distributions’, to quote the project description.
As you can probably imagine by now, our code will not run on our personal computers, but on Kay, Ireland’s main supercomputer! That’s right, we will access powerful HPC resources and exploit parallelism to achieve results that would be otherwise unimaginable.
Thanks for your attention so far! Let’s get back to the study of the math involved and to the code, and see how the project evolves. See you soon, for a more detailed description of the project, the updates, and all the technicalities.