accelerInt  v0.1
solver_generic.cu
Go to the documentation of this file.
1 
10 #include "solver.cuh"
11 #include "header.cuh"
12 #include "gpu_macros.cuh"
13 
14 #ifdef GENERATE_DOCS
15  namespace genericcu {
16 #endif
17 
28  __global__
29 void intDriver (const int NUM,
30  const double t,
31  const double t_end,
32  const double * __restrict__ pr_global,
33  double * __restrict__ y_global,
34  const mechanism_memory * __restrict__ d_mem,
35  const solver_memory * __restrict__ s_mem)
36 {
37  if (T_ID < NUM)
38  {
39  // call integrator for one time step
40  integrate (t, t_end, pr_global[T_ID], d_mem->y, d_mem, s_mem);
41  }
42 } // end intDriver
43 
44 #ifdef GENERATE_DOCS
45  }
46 #endif
__global__ void intDriver(const int NUM, const double t, const double t_end, const double *__restrict__ pr_global, double *__restrict__ y_global, const mechanism_memory *__restrict__ d_mem, const solver_memory *__restrict__ s_mem)
Generic driver for the GPU integrators.
#define T_ID
The global CUDA thread index.
Definition: gpu_macros.cuh:22
Defines some simple macros to simplify GPU indexing.
__device__ void integrate(const double, const double, const double, double *const __restrict__, mechanism_memory const *const __restrict__, solver_memory const *const __restrict__)
the generic main file for all GPU solvers
An example header file that defines system size, memory functions and other required methods for inte...