Swarm-NG  1.1
Todo List
Member blocks_per_mp (int blocksize, int shmem_per_block)
is block_warps computed correctly when blocksize is a multiple of warpSize?
Member GENERIC
these defines should be in a global header they are placed here because we don't have global header
File kepler.h
put proper refernece to publication or URL.
File random.hpp
use better random nubmer generators (e.g., from boost++)
Class swarm::cpu::mvs_cpu< Monitor >
make Gravitation class a template parameter: template<class Monitor, class GravClass>
Member swarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >::calc_total_energy (double *E) const
unsafe function
Member swarm::EnsembleBase< _CHUNK_SIZE, _NUM_BODY_ATTRIBUTES, _NUM_SYS_ATTRIBUTES >::EnsembleBase ()
This is not safe and should be removed. ensemble is almost an abstract class and should not have a constructor anyway.
Member swarm::gpu::bppt::GravitationAcc_GR< T >::GravitationAcc_GR (ensemble::SystemRef &sys, shared_data &shared)
read c^2 from parameter file? read from system attribute? set system attribute from parameter file?
Class swarm::gpu::bppt::GravitationMediumN< T >
For this to be useful would need to make it so that integrators using this gravitation class would know that they only needed to launch 3*nbod threads per systems.
Member swarm::gpu::bppt::integrator::shmem_per_system (T compile_time_param)
This assumes one particular implementation of Gravitation class. Rewrite so that different gravitaiton classes (and different integrators) can request different ammounts of shared memory
Class swarm::gpu::bppt::MVSPropagator< T, Gravitation >
make Gravitation class a template parameter: template<class T, class GravClass>
Member swarm::gpu::integrator::_dens
: use cux auto ptr to make sure we don't have memory leaks
Member swarm::square (const N &x)
This should be moved to a global header file
Member validate_configuration (swarm::config &cfg)
This function needs to be restructured or at least updated
Member validate_configuration (swarm::config &cfg)
This function needs to be restructured or at least updated