← Research

EuroHPC Inno4scale · 2024–2025

SCALE-TRACK

A scalable two-way coupled Euler-Lagrange particle tracking algorithm: OpenFOAM® solves the flow on CPUs while the particles are tracked asynchronously on GPUs. Demonstrated with up to 256 billion cloud droplets. Innovation study with TROPOS.

SCALE-TRACK graphical abstract: a CPU and a GPU coupled through the SCALE-TRACK lettering, with a mesh and a particle cloud

SCALE-TRACK was an innovation study within the EuroHPC project Inno4scale, carried out from February 2024 to March 2025 by Wikki GmbH and the Leibniz Institute for Tropospheric Research (TROPOS).

Highlights

The challenge

Euler-Lagrange simulations are limited by the number of particles that can be processed with reasonable effort, in both computing time and hardware. The reason is that the Lagrangian part of the simulation is hard to parallelise efficiently: CPUs are limited by the number of parallel threads, GPUs mainly by their memory. Although powerful HPC systems are available, a literature survey found no simulation with more than one billion particles.

For many applications, such as large cloud chambers or real clouds, handling substantially more particles would give a much more complete picture of the underlying mechanisms and the complex interactions in these systems.

The solution

SCALE-TRACK processes particles in chunks using a structure-of-arrays layout, and computes the Eulerian and the Lagrangian phase asynchronously: the flow on CPUs, the particles on GPUs. This greatly reduces waiting times and synchronisation barriers. A compact representation of the particle properties drastically reduces the memory needed on the GPUs. The Lagrangian phase is decomposed independently of the Eulerian one, so each phase is split according to its own work.

Three square domains, each split into four coloured Eulerian partitions with hatched Lagrangian partitions L1 to L4: identical, shifted, and overlapping
Domain decomposition strategies. Colours show the Eulerian partitions, hatching the Lagrangian partitions L1 to L4. a) Conventional: Eulerian and Lagrangian partitions are identical. b) Lagrangian partitions need not coincide with the Eulerian ones and may move, grow and shrink. c) As b), but Lagrangian partitions may overlap. Source: arXiv:2603.26691, Fig. 1, CC BY 4.0.

The Lagrangian algorithm is written in Julia and makes extensive use of its built-in support for NVIDIA and AMD GPUs and for parallelism with coroutines and threads. The Eulerian phase is computed with an OpenFOAM-based solver.

Execution timeline of two GPUs and four CPU cores over four time steps, showing Euler and Lagrange computations overlapping
Execution timeline of the two-way coupling for an example with two GPUs (A, B), two primary CPU cores (A, D) and two secondary CPU cores (B, C). Blue: computation; light green: CPU–GPU transfers; dark green: MPI communication; blue arrows: OpenFOAM communication. Only the first time step is synchronised; after that, the Eulerian and Lagrangian computations overlap. Block sizes do not correspond to computing time (T: thread; bb: bounding box). Source: arXiv:2603.26691, Fig. 2, CC BY 4.0.

Performance

Strong scaling on the GPU partition of LUMI (nodes with one 64-core AMD EPYC 7A53 CPU and four AMD MI250X GPUs), for a cloud chamber with 24×10⁶ cells:

Strong scaling plots for 8×10⁷, 8×10⁸ and 8×10⁹ particles on 4 to 256 GPUs
Strong scaling from 4 to 256 GPUs with 8×10⁷, 8×10⁸ and 8×10⁹ particles (left to right): time per time step of the Eulerian phase, the Lagrangian phase and in total.
Strong scaling plot for 8×10⁹ particles tracked on CPUs, 12 to 96 nodes
Strong scaling with 8×10⁹ particles tracked on CPU cores, 12 to 96 nodes.

Application: clouds

As the application with billions of particles we chose cloud chamber simulations. Here, each particle is a single cloud droplet that grows and shrinks depending on the conditions it experiences. Such simulations are used to design cloud chambers and to design and interpret experiments in them. They can also provide parameterisations for large-scale cloud simulations and for weather and climate models.

Two three-dimensional views of a tall cloud chamber filled with droplets coloured by diameter: the whole domain on the left, a zoomed section on the right
Snapshots of a cloud chamber simulation. Left: the whole domain, with the two warm side walls and the cold top wall removed for visibility, and a random selection of droplets. Right: the black cuboid from the left, zoomed in. Droplets are scaled by their diameter, but magnified. Source: arXiv:2603.26691, Fig. 6, CC BY 4.0.

Benefits

SCALE-TRACK is useful wherever a dispersed phase consists of a large number of individual gaseous, liquid or solid particles. Until now, the number of droplets that Euler-Lagrange simulations could reasonably handle was in the order of one billion. With SCALE-TRACK we demonstrated excellent scalability up to 256 billion droplets. This enables high-fidelity simulations of cloud chambers and of parts of real clouds, and could ultimately improve weather and climate models through better parameterisations.

In industry, applications include fuel injection in internal combustion engines, where a large number of droplets is sprayed, and spray drying in the chemical, pharmaceutical and food industries. All of these processes can be studied with SCALE-TRACK, giving new insights and showing where they can be improved, so that they become more efficient and use fewer resources.

Partners

Open source and publication

SCALE-TRACK is free software under the GPL-3.0-or-later licence. The solvers, the Julia implementation, tutorial cases and the validation suite are available on GitHub.

S. Schmalfuß, S. Lesnik, H. Rusche, D. Niedermeier: SCALE-TRACK: Asynchronous Euler-Lagrange particle tracking on heterogeneous computing architecture. Journal of Computational Physics 565, 115335, 2026. doi:10.1016/j.jcp.2026.115335 (preprint: arXiv:2603.26691). The graphical abstract and Figs. 1, 2 and 6 of the paper are used on this page under the CC BY 4.0 licence.

Funding

SCALE-TRACK was carried out as an innovation study within the Inno4scale project, which has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 101118139.

← Back to research · Contact us about this project