ChaNGa - Computational Cosmology and N-Body Codes

ChaNGa (Charm N-body GrAvity)

Cosmological simulation framework "ChaNGa" (originally "N-Chilada") is a collaborative project with Prof. Thomas Quinn (University of Washington: N-Body Shop) supported by the NSF.

ChaNGa (CHArm++ N-body GrAvity solver) was built as a Charm++ application that employs a tree algorithm to represent the simulation space. This tree is constructed globally over all particles in the simulation and segmented into elements named TreePieces. The various TreePieces are distributed by the Charm++ runtime system to the available processors for parallel computation of the gravitational forces. Each TreePiece is implemented in ChaNGa as a chare and can migrate between processors (e.g. during load balancing) as the simulation evolves. Because various TreePieces may reside on the same processor, ChaNGa employs a software caching mechanism that accelerates repeated accesses to the same remote particle data. Each processor contains a cache, implemented as a Charm++ group, to store remotely fetched TreePieces. Another important feature in ChaNGa is the use of a multi-step integration scheme, which on the smallest (most frequent) timestep updates only those particles with the highest speeds.

MAJOR GOALS: The main goal of this work is to produce the most scalable code available for Cosmological simulations; to achieve that, load balancing is a fundamental capability, both at singlestepping and at multistepping. Also, achieving good sequential performance is important.

---

Historically, this project was called N-Chilada, a framework for enabling N-Body based parallel simulations, and especially those in Cosmology and Astronomy. N-Chilada was a collaborative project with Prof. Thomas Quinn (University of Washington) and Prof. Marianne Winslett (University of Illinois). This research page has been archived and can be found here.

Papers / Talks