Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
gather_scatter Module Reference

Gather-scatter.

Data Types

type  gs_t
 

Functions/Subroutines

subroutine gs_init (gs, dofmap, bcknd, comm_bcknd)
 Initialize a gather-scatter kernel.
 
subroutine gs_free (gs)
 Deallocate a gather-scatter kernel.
 
subroutine gs_init_mapping (gs)
 Setup mapping of dofs to gather-scatter operations.
 
subroutine gs_schedule (gs)
 Schedule shared gather-scatter operations.
 
subroutine gs_op_fld (gs, u, op, event)
 Gather-scatter operation on a field u with op op.
 
subroutine gs_op_r4 (gs, u, n, op, event)
 Gather-scatter operation on a rank 4 array.
 
subroutine gs_op_vector (gs, u, n, op, event)
 Gather-scatter operation on a vector u with op op.
 

Function/Subroutine Documentation

◆ gs_free()

subroutine gather_scatter::gs_free ( class(gs_t), intent(inout gs)
private

Definition at line 280 of file gather_scatter.f90.

◆ gs_init()

subroutine gather_scatter::gs_init ( class(gs_t), intent(inout gs,
type(dofmap_t), intent(inout), target  dofmap,
integer, optional  bcknd,
integer, optional  comm_bcknd 
)

Definition at line 99 of file gather_scatter.f90.

Here is the call graph for this function:

◆ gs_init_mapping()

subroutine gather_scatter::gs_init_mapping ( type(gs_t), intent(inout), target  gs)
private
Note
this might be a bit overkill, but having many collisions makes the init take too long.

Definition at line 337 of file gather_scatter.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gs_op_fld()

subroutine gather_scatter::gs_op_fld ( class(gs_t), intent(inout gs,
type(field_t), intent(inout u,
integer  op,
type(c_ptr), intent(inout), optional  event 
)
private

Definition at line 1269 of file gather_scatter.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gs_op_r4()

subroutine gather_scatter::gs_op_r4 ( class(gs_t), intent(inout gs,
real(kind=rp), dimension(:,:,:,:), intent(inout), contiguous  u,
integer, intent(in n,
integer  op,
type(c_ptr), intent(inout), optional  event 
)
private

Definition at line 1285 of file gather_scatter.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gs_op_vector()

subroutine gather_scatter::gs_op_vector ( class(gs_t), intent(inout gs,
real(kind=rp), dimension(n), intent(inout u,
integer, intent(in n,
integer  op,
type(c_ptr), intent(inout), optional  event 
)
private

Definition at line 1301 of file gather_scatter.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gs_schedule()

subroutine gather_scatter::gs_schedule ( type(gs_t), intent(inout), target  gs)
private
Todo:
Consider switching to a crystal router...
Todo:
don't touch others data...
Todo:
don't touch others data...

Definition at line 1152 of file gather_scatter.f90.

Here is the caller graph for this function: