MadFlow: parton-level monte carlo simulations directly to your GPU


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

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.

Indices and tables