Gather-scatter backend for offloading devices.
More...
|
procedure, pass(this) | init (this, nlocal, nshared, nlcl_blks, nshrd_blks) |
| Accelerator backend initialisation.
|
|
procedure, pass(this) | free (this) |
| Dummy backend deallocation.
|
|
procedure, pass(this) | gather (this, v, m, o, dg, u, n, gd, nb, b, op, shrd) |
| Gather kernel.
|
|
procedure, pass(this) | scatter (this, v, m, dg, u, n, gd, nb, b, shrd, event) |
| Scatter kernel.
|
|
procedure(gs_backend_init), deferred, pass | init (this, nlocal, nshared, nlcl_blks, nshrd_blks) |
|
procedure(gs_backend_free), deferred, pass | free (this) |
|
procedure(gs_gather), deferred, pass | gather (this, v, m, o, dg, u, n, gd, nb, b, op, shrd) |
|
procedure(gs_scatter), deferred, pass | scatter (this, v, m, dg, u, n, gd, nb, b, shrd, event) |
|
Definition at line 47 of file gs_device.F90.
◆ free() [1/2]
◆ free() [2/2]
◆ gather() [1/2]
procedure, pass(this) gs_device::gs_device_t::gather |
( |
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 |
|
) |
| |
◆ gather() [2/2]
procedure(gs_gather), deferred, pass gs_bcknd::gs_bcknd_t::gather |
( |
class(gs_bcknd_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 |
|
) |
| |
|
pure virtualinherited |
◆ init() [1/2]
procedure, pass(this) gs_device::gs_device_t::init |
( |
class(gs_device_t), intent(inout) |
this, |
|
|
integer, intent(in) |
nlocal, |
|
|
integer, intent(in) |
nshared, |
|
|
integer, intent(in) |
nlcl_blks, |
|
|
integer, intent(in) |
nshrd_blks |
|
) |
| |
◆ init() [2/2]
procedure(gs_backend_init), deferred, pass gs_bcknd::gs_bcknd_t::init |
( |
class(gs_bcknd_t), intent(inout) |
this, |
|
|
integer, intent(in) |
nlocal, |
|
|
integer, intent(in) |
nshared, |
|
|
integer, intent(in) |
nlcl_blks, |
|
|
integer, intent(in) |
nshrd_blks |
|
) |
| |
|
pure virtualinherited |
◆ scatter() [1/2]
procedure, pass(this) gs_device::gs_device_t::scatter |
( |
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 |
|
) |
| |
◆ scatter() [2/2]
procedure(gs_scatter), deferred, pass gs_bcknd::gs_bcknd_t::scatter |
( |
class(gs_bcknd_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 |
|
) |
| |
|
pure virtualinherited |
◆ gather_event
type(c_ptr) gs_bcknd::gs_bcknd_t::gather_event = C_NULL_PTR |
|
inherited |
◆ gs_stream
type(c_ptr) gs_bcknd::gs_bcknd_t::gs_stream = C_NULL_PTR |
|
inherited |
◆ local_blk_len_d
type(c_ptr) gs_device::gs_device_t::local_blk_len_d = C_NULL_PTR |
◆ local_blk_off
◆ local_blk_off_d
type(c_ptr) gs_device::gs_device_t::local_blk_off_d = C_NULL_PTR |
◆ local_dof_gs_d
type(c_ptr) gs_device::gs_device_t::local_dof_gs_d = C_NULL_PTR |
◆ local_gs_d
type(c_ptr) gs_device::gs_device_t::local_gs_d = C_NULL_PTR |
◆ local_gs_dof_d
type(c_ptr) gs_device::gs_device_t::local_gs_dof_d = C_NULL_PTR |
◆ nlocal
integer gs_device::gs_device_t::nlocal |
◆ nshared
integer gs_device::gs_device_t::nshared |
◆ scatter_event
type(c_ptr) gs_bcknd::gs_bcknd_t::scatter_event = C_NULL_PTR |
|
inherited |
◆ shared_blk_len_d
type(c_ptr) gs_device::gs_device_t::shared_blk_len_d = C_NULL_PTR |
◆ shared_blk_off
◆ shared_blk_off_d
type(c_ptr) gs_device::gs_device_t::shared_blk_off_d = C_NULL_PTR |
◆ shared_dof_gs_d
type(c_ptr) gs_device::gs_device_t::shared_dof_gs_d = C_NULL_PTR |
◆ shared_gs_d
type(c_ptr) gs_device::gs_device_t::shared_gs_d = C_NULL_PTR |
◆ shared_gs_dof_d
type(c_ptr) gs_device::gs_device_t::shared_gs_dof_d = C_NULL_PTR |
◆ shared_on_host
logical gs_device::gs_device_t::shared_on_host |
The documentation for this type was generated from the following file: