Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
bicgstab_aux.cu File Reference

Go to the source code of this file.

Functions

static void bicgstab_reduce (real_xp *host, real_xp *dev, const int count, cudaStream_t stream)
 
void cuda_bicgstab_update_p (void *p, void *r, void *v, real *beta, real *omega, int *n)
 
void cuda_bicgstab_product_and_norm (void *a, void *b, void *mult, real_xp *res, int *n)
 
real_xp cuda_bicgstab_part1 (void *s, void *r, void *v, void *mult, real *alpha, int *n)
 
void cuda_bicgstab_part2 (void *x, void *r, void *p_hat, void *s_hat, void *s, void *t, void *f, void *mult, real *alpha, real *omega, real_xp *res, int *n)
 

Variables

cuda_buffer_t bicgstab_redbuf = CUDA_BUFFER_INIT_SYMM
 

Function Documentation

◆ bicgstab_reduce()

static void bicgstab_reduce ( real_xp host,
real_xp dev,
const int  count,
cudaStream_t  stream 
)
static

Sum count contiguous values across all ranks and stage the result in the pinned host buffer

Definition at line 66 of file bicgstab_aux.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cuda_bicgstab_part1()

real_xp cuda_bicgstab_part1 ( void s,
void r,
void v,
void mult,
real alpha,
int n 
)

Fortran wrapper for BiCGStab part 1, \( s = r - \alpha v \), returning \( s^T M s \)

Definition at line 154 of file bicgstab_aux.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cuda_bicgstab_part2()

void cuda_bicgstab_part2 ( void x,
void r,
void p_hat,
void s_hat,
void s,
void t,
void f,
void mult,
real alpha,
real omega,
real_xp res,
int n 
)

Fortran wrapper for BiCGStab part 2, \( x = x + \alpha \hat{p} + \omega \hat{s} \) and \( r = s - \omega t \), returning \( (r^T M r, f^T M r) \)

Definition at line 189 of file bicgstab_aux.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cuda_bicgstab_product_and_norm()

void cuda_bicgstab_product_and_norm ( void a,
void b,
void mult,
real_xp res,
int n 
)

Fortran wrapper for a weighted inner product and squared norm, \( (a^T M b, b^T M b) \)

Definition at line 120 of file bicgstab_aux.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cuda_bicgstab_update_p()

void cuda_bicgstab_update_p ( void p,
void r,
void v,
real beta,
real omega,
int n 
)

Fortran wrapper for the BiCGStab search direction update \( p = r + \beta (p - \omega v) \)

Definition at line 100 of file bicgstab_aux.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ bicgstab_redbuf

Reduction buffer, owned by the device layer and released on device teardown (cuda_buffer_free_all in cuda_finalize)

Definition at line 60 of file bicgstab_aux.cu.