Neko  0.9.0
A portable framework for high-order spectral element flow simulations
fusedcg_cpld_device.F90 File Reference

Go to the source code of this file.

Data Types

type  fusedcg_cpld_device::fusedcg_cpld_device_t
 Fused preconditioned conjugate gradient method. More...
 
interface  fusedcg_cpld_device::cuda_fusedcg_cpld_part1
 
interface  fusedcg_cpld_device::cuda_fusedcg_cpld_update_p
 
interface  fusedcg_cpld_device::cuda_fusedcg_cpld_update_x
 
interface  fusedcg_cpld_device::cuda_fusedcg_cpld_part2
 

Modules

module  fusedcg_cpld_device
 Defines a fused Conjugate Gradient method for accelerators.
 

Functions/Subroutines

subroutine fusedcg_cpld_device::device_fusedcg_cpld_part1 (a1_d, a2_d, a3_d, b1_d, b2_d, b3_d, tmp_d, n)
 
subroutine fusedcg_cpld_device::device_fusedcg_cpld_update_p (p1_d, p2_d, p3_d, z1_d, z2_d, z3_d, po1_d, po2_d, po3_d, beta, n)
 
subroutine fusedcg_cpld_device::device_fusedcg_cpld_update_x (x1_d, x2_d, x3_d, p1_d, p2_d, p3_d, alpha, p_cur, n)
 
real(kind=rp) function fusedcg_cpld_device::device_fusedcg_cpld_part2 (a1_d, a2_d, a3_d, b_d, c1_d, c2_d, c3_d, alpha_d, alpha, p_cur, n)
 
subroutine fusedcg_cpld_device::fusedcg_cpld_device_init (this, n, max_iter, M, rel_tol, abs_tol, monitor)
 Initialise a fused PCG solver. More...
 
subroutine fusedcg_cpld_device::fusedcg_cpld_device_free (this)
 Deallocate a pipelined PCG solver. More...
 
type(ksp_monitor_t) function, dimension(3) fusedcg_cpld_device::fusedcg_cpld_device_solve_coupled (this, Ax, x, y, z, fx, fy, fz, n, coef, blstx, blsty, blstz, gs_h, niter)
 Pipelined PCG solve coupled solve. More...
 
type(ksp_monitor_t) function fusedcg_cpld_device::fusedcg_cpld_device_solve (this, Ax, x, f, n, coef, blst, gs_h, niter)
 Pipelined PCG solve. More...
 

Variables

integer, parameter fusedcg_cpld_device::device_fusedcg_cpld_p_space = 10