accelerInt
v0.1
|
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) |
Include common code.
__host__ void exprb43cu::check_error | ( | int | num_cond, |
int * | codes | ||
) |
Definition at line 21 of file exprb43_props.cu.
void exprb43cu::cleanup_solver | ( | solver_memory ** | h_mem, |
solver_memory ** | d_mem | ||
) |
Cleans up solver memory.
Additionally closes Krylov subspace logfiles (if LOG_OUTPUT is defined)
Definition at line 196 of file exprb43_init.cu.
void exprb43cu::createAndZero | ( | void ** | ptr, |
size_t | size | ||
) |
Convienvience method to Cuda Malloc and memset a pointer to zero.
ptr | The address of the pointer to malloc |
size | The total size (in bytes) of the pointer to malloc |
Definition at line 151 of file exprb43_init.cu.
exprb43cu::init_solver_log | ( | ) |
Initializes solver specific items for logging.
Initializes the Krylov subspace logging files (if LOG_OUTPUT is defined)
Definition at line 93 of file exprb43_init.cu.
void exprb43cu::initialize_solver | ( | int | padded, |
solver_memory ** | h_mem, | ||
solver_memory ** | d_mem | ||
) |
Initializes the GPU solver.
padded | The total (padded) number of GPU threads (IVPs) to solve |
h_mem | The host solver_memory structure (to be copied to the GPU) |
d_mem | The 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.
__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.
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)
Definition at line 118 of file exprb43_init.cu.
exprb43cu::solver_log | ( | ) |
Executes solver specific logging tasks.
Logs errors, step-sizes, and krylov subspace size (if LOG_OUTPUT is defined)
Definition at line 57 of file exprb43_init.cu.
char * exprb43cu::solver_name | ( | ) |
Returns a descriptive solver name.
Definition at line 23 of file exprb43_init.cu.