accelerInt  v0.1
Classes | Functions
exprb43cu Namespace Reference

Classes

struct  solver_memory
 

Functions

__device__ void integrate (const double t_start, const double t_end, const double pr, double *__restrict__ y, const mechanism_memory *__restrict__ mech, const solver_memory *__restrict__ solver)
 
const char * solver_name ()
 Returns a descriptive solver name. More...
 
void solver_log ()
 Executes solver specific logging tasks. More...
 
void init_solver_log ()
 Initializes solver specific items for logging. More...
 
size_t required_solver_size ()
 Returns the total size (in bytes) required for memory storage for a single GPU thread Used in calculation of the maximum number of possible GPU threads to launch, this method returns the size of the solver_memory structure (per-GPU thread) More...
 
void createAndZero (void **ptr, size_t size)
 Convienvience method to Cuda Malloc and memset a pointer to zero. More...
 
void initialize_solver (int padded, solver_memory **h_mem, solver_memory **d_mem)
 Initializes the GPU solver. More...
 
void cleanup_solver (solver_memory **h_mem, solver_memory **d_mem)
 Cleans up solver memory. More...
 
__host__ void check_error (int num_cond, int *codes)
 

Detailed Description

Include common code.

Function Documentation

◆ check_error()

__host__ void exprb43cu::check_error ( int  num_cond,
int *  codes 
)

Definition at line 21 of file exprb43_props.cu.

◆ cleanup_solver()

void exprb43cu::cleanup_solver ( solver_memory **  h_mem,
solver_memory **  d_mem 
)

Cleans up solver memory.

See also
solver_memory
solver_options.cuh

Additionally closes Krylov subspace logfiles (if LOG_OUTPUT is defined)

Definition at line 196 of file exprb43_init.cu.

◆ createAndZero()

void exprb43cu::createAndZero ( void **  ptr,
size_t  size 
)

Convienvience method to Cuda Malloc and memset a pointer to zero.

Parameters
ptrThe address of the pointer to malloc
sizeThe total size (in bytes) of the pointer to malloc

Definition at line 151 of file exprb43_init.cu.

◆ init_solver_log()

exprb43cu::init_solver_log ( )

Initializes solver specific items for logging.

Initializes the Krylov subspace logging files (if LOG_OUTPUT is defined)

See also
solver_options.cuh

Definition at line 93 of file exprb43_init.cu.

◆ initialize_solver()

void exprb43cu::initialize_solver ( int  padded,
solver_memory **  h_mem,
solver_memory **  d_mem 
)

Initializes the GPU solver.

Parameters
paddedThe total (padded) number of GPU threads (IVPs) to solve
h_memThe host solver_memory structure (to be copied to the GPU)
d_memThe device solver_memory structure (to be operated on by the GPU)

Solves for the poles and residuals used for the Rational Approximants in the Krylov subspace methods and initializes solver_memory

Definition at line 165 of file exprb43_init.cu.

◆ integrate()

__device__ void exprb43cu::integrate ( const double  t_start,
const double  t_end,
const double  pr,
double *__restrict__  y,
const mechanism_memory *__restrict__  mech,
const solver_memory *__restrict__  solver 
)

Definition at line 73 of file exprb43.cu.

◆ required_solver_size()

size_t exprb43cu::required_solver_size ( )

Returns the total size (in bytes) required for memory storage for a single GPU thread Used in calculation of the maximum number of possible GPU threads to launch, this method returns the size of the solver_memory structure (per-GPU thread)

See also
solver_memory

Definition at line 118 of file exprb43_init.cu.

◆ solver_log()

exprb43cu::solver_log ( )

Executes solver specific logging tasks.

Logs errors, step-sizes, and krylov subspace size (if LOG_OUTPUT is defined)

See also
solver_options.cuh

Definition at line 57 of file exprb43_init.cu.

◆ solver_name()

char * exprb43cu::solver_name ( )

Returns a descriptive solver name.

Definition at line 23 of file exprb43_init.cu.