40 double * __restrict__ y_host,
const double * __restrict__ var_host)
43 double step = stepsize < 0 ? t_end - t : stepsize;
44 double t_next = fmin(
end_time, t + step);
48 while (t +
EPS < t_end)
51 intDriver(NUM, t, t_end, var_host, y_host);
53 t_next = fmin(t_end, (numSteps + 1) * step);
void accelerInt_initialize(int num_threads)
Initializes the solver.
void intDriver(const int NUM, const double t, const double t_end, const double *pr_global, double *y_global)
Integration driver for the CPU integrators.
void cleanup_solver(int num_threads)
Cleans up the created solvers.
void initialize_solver(int num_threads)
Initializes the solver.
void accelerInt_integrate(const int NUM, const double t_start, const double t_end, const double stepsize, double *__restrict__ y_host, const double *__restrict__ var_host)
integrate NUM odes from time t to time t_end, using stepsizes of t_step
void accelerInt_cleanup(int num_threads)
Cleans up the solver.
Interface implementation for CPU solvers to be called as a library.