Generic Gather-scatter backend for accelerators.
|
subroutine | gs_device_init (this, nlocal, nshared, nlcl_blks, nshrd_blks) |
| Accelerator backend initialisation.
|
|
subroutine | gs_device_free (this) |
| Dummy backend deallocation.
|
|
subroutine | gs_gather_device (this, v, m, o, dg, u, n, gd, nb, b, op, shrd) |
| Gather kernel.
|
|
subroutine | gs_scatter_device (this, v, m, dg, u, n, gd, nb, b, shrd, event) |
| Scatter kernel.
|
|
◆ gs_device_free()
◆ gs_device_init()
◆ gs_gather_device()
subroutine gs_device::gs_gather_device |
( |
class(gs_device_t), intent(inout) |
this, |
|
|
real(kind=rp), dimension(m), intent(inout) |
v, |
|
|
integer, intent(in) |
m, |
|
|
integer, intent(in) |
o, |
|
|
integer, dimension(m), intent(inout) |
dg, |
|
|
real(kind=rp), dimension(n), intent(inout) |
u, |
|
|
integer, intent(in) |
n, |
|
|
integer, dimension(m), intent(inout) |
gd, |
|
|
integer, intent(in) |
nb, |
|
|
integer, dimension(nb), intent(inout) |
b, |
|
|
integer, intent(in) |
op, |
|
|
logical, intent(in) |
shrd |
|
) |
| |
|
private |
◆ gs_scatter_device()
subroutine gs_device::gs_scatter_device |
( |
class(gs_device_t), intent(inout) |
this, |
|
|
real(kind=rp), dimension(m), intent(inout) |
v, |
|
|
integer, intent(in) |
m, |
|
|
integer, dimension(m), intent(inout) |
dg, |
|
|
real(kind=rp), dimension(n), intent(inout) |
u, |
|
|
integer, intent(in) |
n, |
|
|
integer, dimension(m), intent(inout) |
gd, |
|
|
integer, intent(in) |
nb, |
|
|
integer, dimension(nb), intent(inout) |
b, |
|
|
logical, intent(in) |
shrd, |
|
|
type(c_ptr) |
event |
|
) |
| |
|
private |