Skip to content

adam_field_gmp_kernels

ADAM, field class GMP kernels (GMP backend of field_object).

Source: src/lib/gmp/adam_field_gmp_kernels.F90

Dependencies

Contents

Subroutines

compute_q_gradient_gmp

Compute gradient of q(ivar).

fortran
subroutine compute_q_gradient_gmp(b, ni, nj, nk, ngc, dx, dy, dz, q_gpu, ivar, gradient)

Arguments

NameTypeIntentAttributesDescription
binteger(kind=I4P)inBlock index.
niinteger(kind=I4P)inGrid cells number in I direction.
njinteger(kind=I4P)inGrid cells number in J direction.
nkinteger(kind=I4P)inGrid cells number in K direction.
ngcinteger(kind=I4P)inGhost cells number.
dxreal(kind=R8P)inX space step.
dyreal(kind=R8P)inY space step.
dzreal(kind=R8P)inZ space step.
q_gpureal(kind=R8P)inField component to which apply gradient.
ivarinteger(kind=I4P)inGhost cells number.
gradientreal(kind=R8P)outMaximum gradient of q.

Call graph

compute_normL2_residuals_gmp

Compute L2 norm of residuals.

fortran
subroutine compute_normL2_residuals_gmp(ni, nj, nk, ngc, nv, blocks_number, dq_gpu, norm)

Arguments

NameTypeIntentAttributesDescription
niinteger(kind=I4P)inGrid cells number in I direction.
njinteger(kind=I4P)inGrid cells number in J direction.
nkinteger(kind=I4P)inGrid cells number in K direction.
ngcinteger(kind=I4P)inGhost grid number.
nvinteger(kind=I4P)inNumber of states variables.
blocks_numberinteger(kind=I4P)inNumber of blocks.
dq_gpureal(kind=R8P)inResiduals.
normreal(kind=R8P)inoutResiduals norm.

Call graph

copy_transpose_gpu_cpu_gmp

Copy transposed data from GPU to CPU by CUF threads.

fortran
subroutine copy_transpose_gpu_cpu_gmp(ni, nj, nk, ngc, nv, blocks_number, q_gpu, q_t_gpu, q_cpu)

Arguments

NameTypeIntentAttributesDescription
niinteger(kind=I4P)inGrid cells number in I direction.
njinteger(kind=I4P)inGrid cells number in J direction.
nkinteger(kind=I4P)inGrid cells number in K direction.
ngcinteger(kind=I4P)inGhost cells number.
nvinteger(kind=I4P)inNumber of conservative varibales.
blocks_numberinteger(kind=I4P)inNumber of blocks.
q_gpureal(kind=R8P)inConservative variables on GPU.
q_t_gpureal(kind=R8P)inoutConservative (transposed) variables on GPU.
q_cpureal(kind=R8P)outConservative variables on CPU.

Call graph

populate_send_buffer_ghost_gmp

Polulate send buffer ghost GPU.

fortran
subroutine populate_send_buffer_ghost_gmp(ngc, comm_map_send_ghost_cell_gpu, send_buffer_ghost_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
ngcinteger(kind=I4P)inGhost cells number.
comm_map_send_ghost_cell_gpuinteger(kind=I8P)inpointerComm map, cell information.
send_buffer_ghost_gpureal(kind=R8P)inoutpointerSend buffer of ghost cells.
q_gpureal(kind=R8P)inField component to be updated.

Call graph

receive_recv_buffer_ghost_gmp

Receive recv buffer ghost GPU.

fortran
subroutine receive_recv_buffer_ghost_gmp(ngc, comm_map_recv_ghost_cell_gpu, recv_buffer_ghost_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
ngcinteger(kind=I4P)inGhost cells number.
comm_map_recv_ghost_cell_gpuinteger(kind=I8P)inpointerComm map, cell information.
recv_buffer_ghost_gpureal(kind=R8P)inoutpointerReceive buffer of ghost cells.
q_gpureal(kind=R8P)inoutField component to be updated.

Call graph

update_ghost_local_gmp

Update (local) ghost cells.

fortran
subroutine update_ghost_local_gmp(ngc, local_map_ghost_cell_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
ngcinteger(kind=I4P)inGhost cells number.
local_map_ghost_cell_gpuinteger(kind=I8P)inpointerLocal map of ghost cells.
q_gpureal(kind=R8P)inoutField component to be updated.

Call graph