Swarm-NG  1.1
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12345]
oNboostAutomatically mark a std::pair of PODs as a POD
|\Cis_pod< ::std::pair< First, Second > >Marks a std::pair of PODs as a POD
oNgpulogClass 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)
|\Ninternal
oNparabolic_collision
|\CParabolicTest
oNpeytonType traits utilities. Should be separated into it's own header
|oNconstantsVarious physical and mathematical constants
|oNio
|oNsystem
|\NutilString processing functions, type name demangling,
oNswarmSwarm-NG library
|oNcpu
|oNgpuGPU-based integrators and other GPU tools
|oNlogThe event/data logging system for swarm
|oNmonitorsNamespace for monitors (i.e., stoppers & loggers) and their associated classes
|oNqueryThis namespace contains routines for opening and querying a swarm log file
|oNsnapshotStatic class containing methods to load/save ensembles to file
|oCEnsembleAllocAllocator 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
|oCcompile_time_params_tThis is a wrapper for a compile time integere value. Because CUDA chokes when encountered with integer template values
|oClaunch_template_chooseStructure crafted to be used with choose template
|oCintegratorInterface class for all integrators
|oCpluginAbstract interface class for all plugins
|oCbasic_pluginTemplate class for easy plugin development
|oCplugin_initializerTemplate class to add your plugin to the list of plugins
|oCbasic_plugin_initializerTemplate class for easy plugin development and management
|oCintegrator_plugin_initializerTemplate to add a new integrator to swarm
|oCwriter_plugin_initializerTemplate to add a new writer plugin to swarm
|oCplugin_not_foundThrown when a nonexisting plugin is requested
|oCruntime_errorUnrecoverable error exception
|oCCoalescedStructArrayArray of structures with coalecsed access
|oCDoubleCoalescedStructCoalescedStruct for double data type
|oCkey_not_foundRaised when a key not found in the configuration
|oCconfigBasic dictionary like data structure to hold configuration
|oCCoalescedMemberArrayTo use as an array for members of Body and Sys
|\CEnsembleBaseEnsemble data structure containing nbody systems
oNswarmngPython interface to the Swarm-NG library
|oNlogdbInterface to the Log files generated by bdb_writer plugin
|oNlogrecordContains the support functions for accessing the C++ logrecord data strcture
|oNrange_typeClasses for defining arbitrary ranges easily in Python
|oCConfigSpecialization of std::map to hold all our configuration attributes
|oCSystemA planetary system within an ensemble
|oCBodyA body object within a system
|oCEnsembleAbstract ensemble data structure
|oCDefaultEnsembleThe default implementation of ensemble data structor that stores data in system memory
|oCIntegratorAn ODE integration algorithms
|\CGpuIntegratorGPU accelerated integrator
oCchooseTemplate object function to choose the appropriate instantiation of a function at compile time
oCcudaExceptionUnrecoverable CUDA error, thrown by cudaErrCheck macro
oCDefaultAllocatorDefault allocator that uses C++ new/delete This class uses standard C++ routines for allocation and memory manipulation: new[], delete[] and std::copy
oCDeviceAllocatorCUDA 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
oCf2dstructPrintf API
oCHostAllocatorCUDA 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
oCMappedHostAllocatorCUDA 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
oCmmapped_file_with_headerDefine class memory map with header
oCparameter_rangeData structure hold the values for a range of parameters
oCstopwatchClass for benchmarking cpu & gpu performance. Based on NVIDIA's LinuxStopWatch class
oCTutorialIntegratorThe integrator does not have to be a template, but defining it as
oCTutorialPropagatorClass TutorialPropagator
oCTutorialPropagatorParamsData structure for TutorialPropagator
\CUnrollerTemplate 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