Codes

CHANGA/GASOLINE

Responsible Partners: UiO

CHANGA/GASOLINE

ChaNGa is an N-body Smoothed Particle Magnetohydrodynamics (SPMHD) code which is used to study a wide array of astrophysical systems. While the gravity and SPMHD algorithms are based on the Gasoline and pkdgrav codes, the unique feature of ChaNGa is its incorporation of the Charm++ framework which enables highly efficient parallel scaling. To achieve this, Charm++ employs over decomposition, that is to divide the work into many more work pieces than the number of available processors and let the Charm++ runtime system load balance by appropriately assigning pieces to real processors. During runtime, Charm++ applies dynamic load re-balancing strategies, to determine which work pieces should be migrated to new processors for better load balance. As the central feature of ChaNGa is its tree-based gravity solver, the work pieces handled by the Charm++ framework are vertical slices of the global tree, also known as tree pieces. The number of tree pieces is directly correlated to the given over decomposition chosen by the user. Charm++ also provides support to execute CUDA kernels on the GPU asynchronously and to manage data transfers between the CPU and GPU. A high-level description of the code, its main algorithms and kernels targeted for optimisation can be found in §8 of Deliverable 1.2 (see deliverable section).

ChaNGa is publicly available on github
https://github.com/N-BodyShop/changa

Acknowledgement

Centres of Excellence for HPC Applications – Horizon-EuroHPC-JU-2021-COE-01

Funded by the European Union. This work has received funding from the European High Performance Computing Joint Undertaking (JU) and Belgium, Czech Republic, France, Germany, Greece, Italy, Norway, and Spain under grant agreement No 101093441

Logo EU - EuroHPC

Disclaimer

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European High Performance Computing Joint Undertaking (JU) and Belgium, Czech Republic, France, Germany, Greece, Italy, Norway, and Spain. Neither the European Union nor the granting authority can be held responsible for them.


Scalable Parallel Astrophysical Codes for Exascale © Copyright 2023. All Rights Reserved