Appearance
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
- compute_q_gradient_gmp
- compute_normL2_residuals_gmp
- copy_transpose_gpu_cpu_gmp
- populate_send_buffer_ghost_gmp
- receive_recv_buffer_ghost_gmp
- update_ghost_local_gmp
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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
b | integer(kind=I4P) | in | Block index. | |
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
dx | real(kind=R8P) | in | X space step. | |
dy | real(kind=R8P) | in | Y space step. | |
dz | real(kind=R8P) | in | Z space step. | |
q_gpu | real(kind=R8P) | in | Field component to which apply gradient. | |
ivar | integer(kind=I4P) | in | Ghost cells number. | |
gradient | real(kind=R8P) | out | Maximum 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost grid number. | |
nv | integer(kind=I4P) | in | Number of states variables. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
dq_gpu | real(kind=R8P) | in | Residuals. | |
norm | real(kind=R8P) | inout | Residuals 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
q_gpu | real(kind=R8P) | in | Conservative variables on GPU. | |
q_t_gpu | real(kind=R8P) | inout | Conservative (transposed) variables on GPU. | |
q_cpu | real(kind=R8P) | out | Conservative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ngc | integer(kind=I4P) | in | Ghost cells number. | |
comm_map_send_ghost_cell_gpu | integer(kind=I8P) | in | pointer | Comm map, cell information. |
send_buffer_ghost_gpu | real(kind=R8P) | inout | pointer | Send buffer of ghost cells. |
q_gpu | real(kind=R8P) | in | Field 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ngc | integer(kind=I4P) | in | Ghost cells number. | |
comm_map_recv_ghost_cell_gpu | integer(kind=I8P) | in | pointer | Comm map, cell information. |
recv_buffer_ghost_gpu | real(kind=R8P) | inout | pointer | Receive buffer of ghost cells. |
q_gpu | real(kind=R8P) | inout | Field 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ngc | integer(kind=I4P) | in | Ghost cells number. | |
local_map_ghost_cell_gpu | integer(kind=I8P) | in | pointer | Local map of ghost cells. |
q_gpu | real(kind=R8P) | inout | Field component to be updated. |
Call graph