Repository navigation
Work Plan
-
Test Documentation (all; currently Sourav)
-
Test runs on HPC (Eric)
-
Make a suite of tests which new commits should pass before going to stable branch (Everyone write one)
-
Basic tests (Saleh)
-
CPU vs GPU (integrator * Nbodies, short duration) [done]
-
Energy conservation (GPU integrators * Nbodies, long duration) [done]
-
GPU (Nbodies * monitors, 1 integrator) [should be easy to add to test_integrators.cmake]
-
-
For scattering & hermite_adap (Aaron)
-
Write monitor/stopper that checks for collisions (Sourav)
-
-
Test attributes for body/system (Sourav while writting collision monitor)
-
Check benchmarks (fix scripts; Saleh)
-
Integration Algorithm * Chuncks per block
-
For now, test chunck_size manually, since it is set as cmake parameter & changing requires recompiling. chunck_size is a property of the ensemble and needs to be known at compile time. Nbodies (Nb) is template parameter for integrator.
-
See if there’s a simple rule for choosing efficient chunck_size and chunks_per_block
-
max[ Nb*(Nb-1)/2,3*Nb]*chunck_size*chuncks_per_block ⇐ 512 = max threads per block (so currently 3⇐nbod⇐32?)
-
In principle, someone could make an integrator that didn’t cache accelerations and used only 3*Nb threads per system, so as to allow 3⇐nbod⇐170 (not for next release)
-
-
Fix MVS integrator/propagator (Saleh? or Eric if not easy)
-
Release
-
Write paper
-
Make collisions monitor parallel (Saleh?)
-
Make useful error messages (as they come up)