What makes a Supercomputer super?
In my last blog post, I presented the Boltzmann-Nordheim equation and that Supercomputer can help us to solve this equation. This time, we have a look at the Supercomputer itself and how we can use it.
Why do we need Supercomputers?
Before having a look at supercomputers, we might ask ourselves, for what kind of problems do we need them for? One major application of supercomputers is simulations. A current example for simulations is the COVID-19 Pandemic, where PRACE supports projects focussing on different aspects of the crises, as simulations of the spread of the disease or research to understand the virus itself.
Another example is the weather forecast, where supercomputers use the current weather to predict the upcoming weather. You will find many more examples, where supercomputers play an important role.
Could my computer solve these problems?
For some of these problems, your personal computer might be able to compute a solution, but not to the precision that would satisfy the scientific needs and standards. Furthermore, your computer would just take too much time to finish the task. In the last weeks, I tried to run the code that simulates the Boltzmann-Nordheim equation on my computer at home – after an hour of waiting for a response, I just stopped the computation. Luckily, my supervisors gave me access to a more powerful computer, where I did not have to wait hours to get a result.
But what makes it faster?
It is not just, that supercomputers have a faster CPU or a bigger RAM than your PC (the Fugaku, currently the fastest Supercomputer has 64PB RAM!). Their major strength is, that they have more CPUs than your PC. This way, you can more think about multiple Computers working together rather than a single big machine! In the video below we can see how we can benefit from having multiple CPUs.
And how does that relate to your project?
In the video of the last post, I showed you, that I am focussing on a part of the equation, that describes the collision of the particles. My supervisor, Alexandre Mouton has developed a method that can further subdivide the collision term into pieces, such that they can be computed in parallel. My task is to get a good understanding of this method and to add it to the current state of the code.
In the last weeks, I had a look at his code and installed it onto my computer. Before editing the code, I need to understand it. With thousands of lines of codes, it was not easy to get into it. Luckily, I do not have to read and understand all of them as I do not have to adapt the whole project. Recently I started to implement the new method and planned what parts of the method I will focus on in the next weeks.
For now, I will head back to coding, but keep you up to date on every progress with the upcoming posts.