Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
Defines a fused Conjugate Gradient method for accelerators.
Data Types | |
interface | cuda_fusedcg_cpld_part1 |
interface | cuda_fusedcg_cpld_part2 |
interface | cuda_fusedcg_cpld_update_p |
interface | cuda_fusedcg_cpld_update_x |
type | fusedcg_cpld_device_t |
Fused preconditioned conjugate gradient method. More... | |
Functions/Subroutines | |
subroutine | device_fusedcg_cpld_part1 (a1_d, a2_d, a3_d, b1_d, b2_d, b3_d, tmp_d, n) |
subroutine | 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 | 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 | 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_init (this, n, max_iter, m, rel_tol, abs_tol, monitor) |
Initialise a fused PCG solver. | |
subroutine | fusedcg_cpld_device_free (this) |
Deallocate a pipelined PCG solver. | |
type(ksp_monitor_t) function, dimension(3) | 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. | |
type(ksp_monitor_t) function | fusedcg_cpld_device_solve (this, ax, x, f, n, coef, blst, gs_h, niter) |
Pipelined PCG solve. | |
Variables | |
integer, parameter | device_fusedcg_cpld_p_space = 10 |
|
private |
Definition at line 199 of file fusedcg_cpld_device.F90.
|
private |
Definition at line 245 of file fusedcg_cpld_device.F90.
|
private |
Definition at line 213 of file fusedcg_cpld_device.F90.
|
private |
Definition at line 230 of file fusedcg_cpld_device.F90.
|
private |
|
private |
|
private |
Definition at line 649 of file fusedcg_cpld_device.F90.
|
private |
Definition at line 54 of file fusedcg_cpld_device.F90.