Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
bicgstab_aux.hip File Reference
#include <stdio.h>
#include <hip/hip_runtime.h>
#include "bicgstab_kernel.h"
#include <device/device_config.h>
#include <device/hip/check.h>
#include <device/hip/buffer.h>
#include <math/bcknd/device/device_mpi_reduce.h>
#include <math/bcknd/device/device_mpi_op.h>

Go to the source code of this file.

Functions

static void bicgstab_reduce (real_xp *host, real_xp *dev, const int count, hipStream_t stream)
 
void hip_bicgstab_update_p (void *p, void *r, void *v, real *beta, real *omega, int *n)
 
void hip_bicgstab_product_and_norm (void *a, void *b, void *mult, real_xp *res, int *n)
 
real_xp hip_bicgstab_part1 (void *s, void *r, void *v, void *mult, real *alpha, int *n)
 
void hip_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

hip_buffer_t bicgstab_redbuf = HIP_BUFFER_INIT
 

Function Documentation

◆ bicgstab_reduce()

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

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

Definition at line 62 of file bicgstab_aux.hip.

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

◆ hip_bicgstab_part1()

real_xp hip_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 141 of file bicgstab_aux.hip.

Here is the call graph for this function:

◆ hip_bicgstab_part2()

void hip_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 178 of file bicgstab_aux.hip.

Here is the call graph for this function:

◆ hip_bicgstab_product_and_norm()

void hip_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 105 of file bicgstab_aux.hip.

Here is the call graph for this function:

◆ hip_bicgstab_update_p()

void hip_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 84 of file bicgstab_aux.hip.

Here is the call graph for this function:

Variable Documentation

◆ bicgstab_redbuf

hip_buffer_t bicgstab_redbuf = HIP_BUFFER_INIT

Reduction buffer, owned by the device layer and released on device teardown (hip_buffer_free_all in hip_finalize)

Definition at line 56 of file bicgstab_aux.hip.