accelerInt
v0.1
|
Implementation of the GPU arnoldi iteration methods. More...
#include <string.h>
#include "header.cuh"
#include "phiAHessenberg.cuh"
#include "exponential_linear_algebra.cuh"
Go to the source code of this file.
Macros | |
#define | ARNOLDI_CUH |
Functions | |
__device__ int | arnoldi (const double scale, const int p, const double h, const double *__restrict__ A, const solver_memory *__restrict__ solver, const double *__restrict__ v, double *__restrict__ beta, double *__restrict__ work, cuDoubleComplex *__restrict__ work2) |
Runs the arnoldi iteration to calculate the Krylov projection. More... | |
Variables | |
__constant__ int | index_list [23] = {1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 17, 21, 27, 34, 42, 53, 67, 84, 106, 133, 167, 211, 265} |
The list of indicies to check the Krylov projection error at. More... | |
Implementation of the GPU arnoldi iteration methods.
Note: turn on EXACT_KRYLOV krylov definition to use the use the "happy breakdown" criteria in determining end of krylov iteration
Definition in file arnoldi.cuh.
#define ARNOLDI_CUH |
Definition at line 12 of file arnoldi.cuh.
int arnoldi | ( | const double | scale, |
const int | p, | ||
const double | h, | ||
const double *__restrict__ | A, | ||
const solver_memory *__restrict__ | solver, | ||
const double *__restrict__ | v, | ||
double *__restrict__ | beta, | ||
double *__restrict__ | work, | ||
cuDoubleComplex *__restrict__ | work2 | ||
) |
Runs the arnoldi iteration to calculate the Krylov projection.
[in] | scale | the value to scale the timestep by |
[in] | p | the order of the maximum phi function needed |
[in] | h | the timestep |
[in] | A | the jacobian matrix |
[in,out] | solver | the solver memory struct |
[in] | v | the vector to use for the krylov subspace |
[out] | beta | the norm of the v vector |
[in,out] | work | A work vector |
[in,out] | work2 | A complex work vector |
Definition at line 51 of file arnoldi.cuh.
__constant__ int index_list[23] = {1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 17, 21, 27, 34, 42, 53, 67, 84, 106, 133, 167, 211, 265} |
The list of indicies to check the Krylov projection error at.
Definition at line 26 of file arnoldi.cuh.