Swarm-NG  1.1
helpers.hpp File Reference

Template meta-programming combinators (symbolic helper functions) for loop unrolling and selecting the correct templatized integrator at runtime. More...

#include "device_settings.hpp"
#include "utilities.hpp"

Go to the source code of this file.

Classes

struct  Unroller< Begin, End, Step >
 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. More...
 
struct  choose< T, N, MAXN, B, P >
 Template object function to choose the appropriate instantiation of a function at compile time. More...
 
struct  swarm::compile_time_params_t< i >
 This is a wrapper for a compile time integere value. Because CUDA chokes when encountered with integer template values. More...
 
struct  swarm::launch_template_choose< N >
 structure crafted to be used with choose template. More...
 

Namespaces

 swarm
 Swarm-NG library.
 

Constant Groups

 swarm
 Swarm-NG library.
 

Functions

template<class implementation , class T >
__global__ void swarm::generic_kernel (implementation *integ, T compile_time_param)
 Implementation of the generic_kernel. This is used so we can have arbitrary kernels that are template based and member functions of some class.
 
template<class implementation >
void swarm::launch_templatized_integrator (implementation *integ)
 Global interface for launching a templatized integrator. More...
 

Detailed Description

Template meta-programming combinators (symbolic helper functions) for loop unrolling and selecting the correct templatized integrator at runtime.

Definition in file helpers.hpp.