Neko  0.8.1
A portable framework for high-order spectral element flow simulations
cg_device Module Reference

Defines various Conjugate Gradient methods for accelerators. More...

Data Types

type  cg_device_t
 Device based preconditioned conjugate gradient method. More...
 

Functions/Subroutines

subroutine cg_device_init (this, n, max_iter, M, rel_tol, abs_tol)
 Initialise a device based PCG solver. More...
 
subroutine cg_device_free (this)
 Deallocate a device based PCG solver. More...
 
type(ksp_monitor_t) function cg_device_solve (this, Ax, x, f, n, coef, blst, gs_h, niter)
 Standard PCG solve. More...
 

Detailed Description

Defines various Conjugate Gradient methods for accelerators.

Function/Subroutine Documentation

◆ cg_device_free()

subroutine cg_device::cg_device_free ( class(cg_device_t), intent(inout)  this)

Deallocate a device based PCG solver.

Definition at line 108 of file cg_device.f90.

Here is the call graph for this function:

◆ cg_device_init()

subroutine cg_device::cg_device_init ( class(cg_device_t), intent(inout)  this,
integer, intent(in)  n,
integer, intent(in)  max_iter,
class(pc_t), intent(inout), optional, target  M,
real(kind=rp), intent(inout), optional  rel_tol,
real(kind=rp), intent(inout), optional  abs_tol 
)

Initialise a device based PCG solver.

Definition at line 69 of file cg_device.f90.

Here is the call graph for this function:

◆ cg_device_solve()

type(ksp_monitor_t) function cg_device::cg_device_solve ( class(cg_device_t), intent(inout)  this,
class(ax_t), intent(inout)  Ax,
type(field_t), intent(inout)  x,
real(kind=rp), dimension(n), intent(inout)  f,
integer, intent(in)  n,
type(coef_t), intent(inout)  coef,
type(bc_list_t), intent(inout)  blst,
type(gs_t), intent(inout)  gs_h,
integer, intent(in), optional  niter 
)

Standard PCG solve.

Definition at line 154 of file cg_device.f90.

Here is the call graph for this function: