MadFlow: parton-level monte carlo simulations directly to you GPU¶
Overview¶
MadFlow is a framework for Monte Carlo simulation of particle physics processes designed to take full advantage of hardware accelerators.
Processes can be generated using MadGraph5_aMC@NLO and are then output in vectorized (or tensorized)
form by the madflow
-provided plugin.
The vectorized output is compiled using the TensorFlow library (hence, tensorized) and then integrated using the VegasFlow library. The PDF interpolation is provided by PDFFlow. All tools are capable of running hardware with different hardware acceleration capabilities, such as multi-threading CPU, single-GPU and multi-GPU setups.
Open Source¶
The madflow
package is open source and available at https://github.com/N3PDF/madflow
Motivation and design¶
Madflow is developed by the Particle Physics group of the University of Milan. Theoretical calculations in particle physics are incredibly time consuming operations, sometimes taking months in big clusters all around the world.
These expensive calculations are driven by the high dimensional phase spaces and the complexity of the integrands which can be composed of dozens or hundreds of diagrams. Furthermore, most of these calculations are built upon very dated code and methodologies not suitable for newest hardware. These problems create a huge technical debt which is very difficult to overcome by newcomers to the field.
With Madflow with aim to close this gap between theoretical and high performance computing by providing a framework that it is maintainable, extensible and modern while at the same time not sacrificing the complexity of fixed-order computations.
Even while there might be situations for which the huge complexity of many-particle calculations
cannot efficiently automatically mapped to hardware accelerator, we expect madflow
will
help quickstart the efforts for a new age of GPU-capable Monte Carlo simulators.