Neko  0.9.99
A portable framework for high-order spectral element flow simulations
gather_scatter Module Reference

Gather-scatter.

Data Types

type  gs_t
 

Functions/Subroutines

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

Function/Subroutine Documentation

◆ gs_free()

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

Definition at line 262 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 
)

Definition at line 91 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 319 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 1243 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 1259 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 1275 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 1126 of file gather_scatter.f90.

Here is the caller graph for this function: