accelerInt  v0.1
Macros | Functions | Variables
arnoldi.cuh File Reference

Implementation of the GPU arnoldi iteration methods. More...

#include <string.h>
#include "header.cuh"
#include "phiAHessenberg.cuh"
#include "exponential_linear_algebra.cuh"
Include dependency graph for arnoldi.cuh:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Implementation of the GPU arnoldi iteration methods.

Author
Nicholas Curtis
Date
03/09/2015

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.

Macro Definition Documentation

◆ ARNOLDI_CUH

#define ARNOLDI_CUH

Definition at line 12 of file arnoldi.cuh.

Function Documentation

◆ arnoldi()

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.

Returns
m - the ending size of the matrix
Parameters
[in]scalethe value to scale the timestep by
[in]pthe order of the maximum phi function needed
[in]hthe timestep
[in]Athe jacobian matrix
[in,out]solverthe solver memory struct
[in]vthe vector to use for the krylov subspace
[out]betathe norm of the v vector
[in,out]workA work vector
[in,out]work2A complex work vector

Definition at line 51 of file arnoldi.cuh.

Variable Documentation

◆ index_list

__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.