Large-Scale Scientific C++ for Casual Coders – Axel Naumann

At CERN they are of course, looking for new particles. To make sure their measuring software is accurate and bug free, they first compare measurements with simulations. In that way they precisely know the uncertainty. Interesting idea! Simulation is as important as data taking, because they need to know ‘the truth’ to compare against. So, all remaining CPU time is used on simulation.

They run software on ‘the grid’ which has about 500,000 cores and a capacity of 4 ExaByte.

End-user programming on steroids!

So how do we get from data taking to ‘we have found the Higgs particle’? Physicists do not look at the raw data, they often run the same filter or aggregation. Then, of course, they use Excel 🙂


No! Physicists use C++ to analyze the data. The compare the run with the simulation and then perform some statistics on them. For this, they use the experimental framework, a few generic tools that can be used for each experiment and then there are  lots of hand-written (copy pasted) tools written by the physicists.

Giving back to society

Because CERN is paid for by society, they want to give back to society as well. For example, all publications by people at CERN are now open access. Because the results are very hard, a lot of effort goes into popularization of their results. Did you know you can visit them? They are also trying to apply their tools and knowledge to other areas, like the formation of clouds or reprocessing nuclear waste by shooting neutrons at it.

Open source at CERN

CERN contributes to open source projects, but also make their own. For example: CERN has an open source project for conferences including paper reviews, an http-based network file system to share software with other researchers, and a data analysis and visualization system.