Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
gs_crystal_plan.f90 File Reference

Go to the source code of this file.

Data Types

type  gs_crystal_plan::gs_crystal_stage_t
 One active communication stage of the routing plan. More...
 
type  gs_crystal_plan::gs_crystal_plan_t
 The full routing plan for one gather-scatter schedule. More...
 

Modules

module  gs_crystal_plan
 Routing plan for the crystal router gather-scatter comm. backends.
 

Functions/Subroutines

subroutine gs_crystal_plan::gs_crystal_plan_init (this, send_pe, recv_pe, send_dof, recv_dof)
 Work out the routing plan for a gather-scatter schedule.
 
subroutine gs_crystal_plan::cr_final_dofs (this, rdest, rorig, rlen, nrec, recv_pe, recv_dof)
 Turn the records left at the end of the routing into the reduction order of the delivered words.
 
subroutine gs_crystal_plan::cr_meta_exchange (sbuf, nsrec, dst, rbuf, nrrec, src)
 Size-negotiated bidirectional exchange of record metadata with a partner. Either dst or src may be -1 to make that direction a no-op, which is how the unpaired ranks of an odd sized range are kept matched and deadlock free.
 
subroutine gs_crystal_plan::gs_crystal_plan_free (this)
 Release the routing plan.
 

Variables

integer, parameter gs_crystal_plan::cr_rec = 3
 Metadata words per in-flight record in the symbolic pass: destination rank, originating rank, payload length.
 
integer, parameter gs_crystal_plan::cr_plan_tag = 0
 Message tag for the symbolic pass. Setup only, and every exchange in it is a fully synchronised MPI_Sendrecv, so one tag suffices.