boost | Automatically mark a std::pair of PODs as a POD |
is_pod< ::std::pair< First, Second > > | Marks a std::pair of PODs as a POD |
gpulog | Class template pktsize<> and supporting classes and templates that enable the compile-time calculation of log record layout (byte offsets to which the data will be stored) |
internal | |
ilogstream | Stream of logrecords |
dev_internals | Device internals encapsulation for log_base<> template |
host_internals | Host internals encapsulation for log_base<> template |
log_base | Log template with the write() implementations |
host_log | Host specialization, with memory management |
logrecord | Log unserialization - reads elements from a log record |
argio | I/o support: scalar PODs |
argio< T * > | Force a compiler error if the user attempts to serialize a pointer |
argio< T[N]> | Presized array read/write specialization |
argio< array< T > > | I/o support: unbound array (array<>) specialization |
pktsize | Struct template to compile-time compute (properly aligned) offsets and sizes of passed types |
alignment | Type alignment querying |
alignment< float2 > | Alignment overrides to make the host packing compatible with device packing See table B-1 in CUDA 2.2 Programming Guide for reference |
ttrait | Type traits, scalar type |
ttrait< T * > | Type traits, pointer type |
ttrait< T[N]> | Type traits, array type |
ttrait< array< T > > | Type traits, array type |
ttrait< Tunspec > | Type traits, type unspecified |
array | Unbound array alloc request class |
arginfo | Arginfo (mainly used for debugging) |
header | Log record header |
Tunspec | "unspecified datatype" marker for pktsize structure |
alignment< body_set< N > > | Body_set_cls is a proxy for an array of bodies, so make sure it reports the same alignment as body[N], as well as sizeof() return alignment of body[N] |
ttrait< body_set< N > > | Return traits of body[N] |
argio< body_set< N > > | Template partial specialization of argio class from gpulog for body_set |
parabolic_collision | |
ParabolicTest | |
peyton | Type traits utilities. Should be separated into it's own header |
constants | Various physical and mathematical constants |
io | |
binary | Auxiliary/debug variables/methods are found here |
datatype_info | Type information structure for manifest |
basic_obstream | Forward declarations |
basic_ibstream | Input stream |
basic_bstream | Input/output stream |
system | |
MemoryMap | Class for memory mapping |
MemoryMapVector | Class for memory map array |
MemoryMapError | Define run time error with memory mapping |
util | String processing functions, type name demangling, |
demangling_error | Defines run time error handling |
swarm | Swarm-NG library |
cpu | |
hermite_cpu | CPU implementation of PEC2 Hermite integrator |
mvs_cpu | CPU implementation of mixed variables symplectic propagator: template<class Monitor> EXPERIMENTAL: This class is not thoroughly tested |
gpu | GPU-based integrators and other GPU tools |
bppt | Class of GPU integrators with a thread for each body-pair |
hermite_adap | GPU implementation of PEC2 Hermite integrator w/ adaptive time step |
SystemSharedData | Date structure for system shared data |
hermite | GPU implementation of PEC2 Hermite integrator |
FixedTimeStep | Data structure for fixed time step |
AdaptiveTimeStep | Data structure for adaptive time step |
rkck | Runge Kutta Cash Karp integrator Fixed/Adaptive |
EulerPropagatorParams | Paramaters for EulerPropagator |
EulerPropagator | GPU implementation of euler propagator It is of no practical use |
HermitePropagatorParams | Paramaters for HermitePropagator |
HermitePropagator | GPU implementation of hermite propagator It is of no practical use since hermite integrator implements the same functionaliy faster |
MidpointPropagatorParams | Paramaters for MidpointPropagator |
MidpointPropagator | GPU implementation of modified midpoint method propagator |
MVSPropagatorParams | Paramaters for MvsPropagator |
MVSPropagator | GPU implementation of mixed variables symplectic propagator |
VerletPropagatorParams | Paramaters for VerletPropagator |
VerletPropagator | GPU implementation of Verlet propagator |
integrator | Common functionality and skeleton for body-pair-per-thread integrators Common tasks include: |
generic | Generic integrator for rapid creation of new integrators |
GravitationAcc | Templatized Class to calculate acceleration and jerk in parallel |
GravitationAccJerk | Templatized Class working as a function object to calculate acceleration and jerk in parallel |
GravitationAccScalars | Unit type of the acceleration pairs shared array |
GravitationAccJerkScalars | Unit type of the acceleration and jerk pairs shared array |
GravitationAcc_GR | Templatized Class to calculate acceleration and jerk in parallel |
GravitationLargeN | Gravitation calculation class for large number of bodies in a system |
GravitationMediumN | Gravitation calculation for a number of bodies between 10-20 EXPERIMENTAL: This class is not thoroughly tested |
integrator | Interface class for all GPU based integrators |
log | The event/data logging system for swarm |
bdb_writer | Writer plugin to output the log into a Berkeley-DB database |
binary_writer | A writer plugin that writes to binary files |
event_record | Define event_record class |
event_record<-1 > | Specialized version for NumData=-1 to allow for variable length |
event_record< 0 > | Specialized version for NumData=0 to allow for no double data (is this needed?) |
host_array_writer | A writer plugin that keeps the data in the memory |
manager | Manage CPU/GPU logs and writing them to appropriate output |
null_writer | A writer plugin to use when the log output is not needed |
body_set | Body_set class: hold a set of indices to bodies in a given system in a given ensemble |
writer | Abstract output writer interface |
monitors | Namespace for monitors (i.e., stoppers & loggers) and their associated classes |
combine_monitors_params | Define parameters for combining monitors |
combine | Template to allow developer to join two monitors Signal is true if either monitor returns true |
stop_on_ejection_or_close_encounter_or_crossing_orbit | Combination of stop_on_ejcetion, stop_on_close_encounter and stop_on_crossing_orbit |
params | Defines parameter structure |
stop_on_ejection_or_close_encounter | Combination of stop_on_ejcetion and stop_on_close_encounter EXPERIMENTAL: This class is not thoroughly tested |
params | Define the structure params |
log_time_interval_params | Parameters for log_time_interval monitor log_on_interval (bool): log_interval (real): time between sucessive logging |
log_time_interval | Monitor that logs the entire state of systems at periodic intervals of approximately "log_interval" Systems may be integrated for more than log interval before another log entry is written |
log_transit_params | Parameters for log_transit monitor log_transit_tol (real): desired precision of transit times (zero makes inactive) |
log_transit | Monitor that logs (the estimated transit time, the estimated minimum impact parameter in units of stellar radii, and the estimated velocity projected onto the planet of the sky in units of stellar radii per time) at times near a transit EXPERIMENTAL: This class is not thoroughly tested |
monitor_template_params | Structure for monitor_template_params |
monitor_template | Empty monitor to use as a template |
stop_on_all_but_two_at_large_distance_params | Parameters for stop_on_all_but_two_at_large_distance monitor deactivate_on_close_encounter (bool): log_on_close_encounter (bool): verbose_on_close_encounter (bool): rmax (real): minimum distance between bodies to be considered isolated |
stop_on_all_but_two_at_large_distance | Simple monitor that signals and logs when no more than two bodies are within a distance "rmax" of origin or another body |
stop_on_any_large_distance_params | Parameters for stop_on_any_large_distance monitor deactivate_on_close_encounter (bool): log_on_close_encounter (bool): verbose_on_close_encounter (bool): rmax (real): minimum distance between bodies to trigger |
stop_on_any_large_distance | Simple monitor that logs when any one body is separated from EXPERIMENTAL: This class is not thoroughly tested |
stop_on_close_encounter_param | Parameters for stop_on_close_encounter monitor deactivate_on_close_encounter (bool): log_on_close_encounter (bool): verbose_on_close_encounter (bool): close_approach (real): maximum distance in Hill radii to trigger action |
stop_on_close_encounter | Simple monitor to detect close encounters |
stop_on_collision_param | Parameters for stop_on_collision monitor deactivate_on_collision (bool): log_on_collision (bool): verbose_on_collision (bool): collision_distance_to_origin (real): default distance or collision if individual radii not avaliable |
stop_on_collision | Simple monitor to detect physical collisions |
stop_on_crossing_orbit_params | Parameters for stop_on_crossing_orbit monitor deactivate_on_crossing (bool): log_on_crossing (bool): verbose_on_crossing (bool): |
stop_on_crossing_orbit | Stopping monitor to detect crossing orbits for planets EXPERIMENTAL: This class is not thoroughly tested |
stop_on_ejection_params | Parameters for stop_on_ejection monitor deactivate_on_ejection (bool): log_on_ejection (bool): verbose_on_ejection (bool): rmax (real): minimum distance to check for ejections |
stop_on_ejection | Simple monitor that signals and logs when any body (other than body 0) meets all of the following criteria: |
query | This namespace contains routines for opening and querying a swarm log file |
idx_t | Sort the raw outputs |
index_creator | Define class for creating index |
sysinfo | Define structure sysinfo |
range | Structure defines data range |
swarmdb | Defines swarmdb class |
index_entry | Structure for index entry |
result | Defines query result structure |
snapshots | Defines snapshots structure |
snapshot | Static class containing methods to load/save ensembles to file |
header | Data structure used in binary files. This is meant to be found at offset 0 of the file |
sys | Data structure used in binary files. parameters for a system. This comes right after the header and is followed by nbod number of body structs |
body | Data structure used in binary files. parameters for each body. nbod instances of this struct follows after each sys data structure |
readfileexception | Raised when an error encountered reading a text or binary file. Used in load and load_text |
writefileexception | Raised when an error encountered writing to a text or binary file. Used in save and save_text |
EnsembleAlloc | Allocator based version of ensemble containing memory management routines It takes an allocator as a parameter and uses the allocator for allocate, deallocate and copying the ensemble |
compile_time_params_t | This is a wrapper for a compile time integere value. Because CUDA chokes when encountered with integer template values |
launch_template_choose | Structure crafted to be used with choose template |
integrator | Interface class for all integrators |
plugin | Abstract interface class for all plugins |
basic_plugin | Template class for easy plugin development |
plugin_initializer | Template class to add your plugin to the list of plugins |
basic_plugin_initializer | Template class for easy plugin development and management |
integrator_plugin_initializer | Template to add a new integrator to swarm |
writer_plugin_initializer | Template to add a new writer plugin to swarm |
plugin_not_found | Thrown when a nonexisting plugin is requested |
runtime_error | Unrecoverable error exception |
CoalescedStructArray | Array of structures with coalecsed access |
DoubleCoalescedStruct | CoalescedStruct for double data type |
key_not_found | Raised when a key not found in the configuration |
config | Basic dictionary like data structure to hold configuration |
CoalescedMemberArray | To use as an array for members of Body and Sys |
EnsembleBase | Ensemble data structure containing nbody systems |
Body | Concrete structure of Body This class is specifically designed to be used with CoalescedStruct array |
range_t | A simple data structure to calculate statistical measures on a range of values |
Sys | Structure for quantities stored per system |
SystemRef | Reference to a system within an ensemble |
SystemRefConst | Constant encapsulation of SystemRef If the ens is constant use: SystemRefConst s = ens[i]; |
swarmng | Python interface to the Swarm-NG library |
logdb | Interface to the Log files generated by bdb_writer plugin |
PKey | Primary key of the log file database |
IndexedLogDB | Interface to BDB log files |
logrecord | Contains the support functions for accessing the C++ logrecord data strcture |
LogRecord | Data structure equivalent of the logrecord defined in Swarm-NG C++ library This class does not use any C++ code, intead it uses pack/unpack to directly parse the binary format into Python variables |
range_type | Classes for defining arbitrary ranges easily in Python |
Range | Simple data structure to specify a range and test against it This is different from Python range object since it has methods for testing if a number is in range and also supports infinite ranges |
Config | Specialization of std::map to hold all our configuration attributes |
System | A planetary system within an ensemble |
Attribute | Attributes of the system, it is just a list of floating point values |
Body | A body object within a system |
Attribute | Attributes of the body, it is just a list of floating point values |
Components | Representetive for one component (x,y,z) of the object Contains position and velocity for that component |
Ensemble | Abstract ensemble data structure |
DefaultEnsemble | The default implementation of ensemble data structor that stores data in system memory |
Integrator | An ODE integration algorithms |
GpuIntegrator | GPU accelerated integrator |
choose | Template object function to choose the appropriate instantiation of a function at compile time |
cudaException | Unrecoverable CUDA error, thrown by cudaErrCheck macro |
DefaultAllocator | Default allocator that uses C++ new/delete This class uses standard C++ routines for allocation and memory manipulation: new[], delete[] and std::copy |
DeviceAllocator | CUDA device memory allocator that uses cudaMalloc,cudaMemcpy,cudaFree It creates a pointer that is allocated on the device. The pointer cannot be used by the caller and should only be passed to a CUDA kernel. The copy uses cudaMemcpy to transfer data between 2 device arrays |
f2dstruct | Printf API |
HostAllocator | CUDA host memory allocator uses cudaMallocHost,cudaMemcpy,cudaFreeHost Host memory allocator is similar to malloc. The pointers point to memory that can be used by C++. However, CUDA documentation claims that copying to device memory from a CUDA allocated host array is faster than memory allocated using malloc |
MappedHostAllocator | CUDA host memory allocator similar to HostAllocator using device mapped memory A Mapped memory is accessible on host and device. However, the pointers are different and this complicated everything. According to CUDA manual, version 4.0 of CUDA SDK uses unified pointers so there in to need to map the pointer. In that case, The pointer obtained using this allocator can be passed to a kernel |
mmapped_file_with_header | Define class memory map with header |
parameter_range | Data structure hold the values for a range of parameters |
stopwatch | Class for benchmarking cpu & gpu performance. Based on NVIDIA's LinuxStopWatch class |
TutorialIntegrator | The integrator does not have to be a template, but defining it as |
TutorialPropagator | Class TutorialPropagator |
TutorialPropagatorParams | Data structure for TutorialPropagator |
Unroller | Template helper for unrolling of loops This template helper is used for unrolling loops This and the template specialization below provide a pattern matching recursive function that is evaluated at compile time and generates code for unrolling a function |