tem_stencil_communicate Subroutine

private subroutine tem_stencil_communicate(send, recv, elem, computeStencil, proc, commPattern, iStencil)

Communicate the complete stencil

Currently, this assumes same stencils for all participating elements

Arguments

TypeIntentOptionalAttributesName
type(tem_communication_type), intent(inout) :: send

send and recv communication buffers

type(tem_communication_type), intent(inout) :: recv

send and recv communication buffers

type(tem_element_type), intent(inout) :: elem

levelDesc element list

type(tem_stencilHeader_type), intent(in) :: computeStencil

array of all stencils used in the simulation

type(tem_comm_env_type), intent(in) :: proc

Process description to use.

type(tem_commPattern_type), intent(in) :: commPattern

communication pattern

integer, intent(in) :: iStencil

amount of values to communicate


Calls

proc~~tem_stencil_communicate~~CallsGraph proc~tem_stencil_communicate tem_stencil_communicate interface~init~15 init proc~tem_stencil_communicate->interface~init~15 interface~append~4 append proc~tem_stencil_communicate->interface~append~4 proc~tem_stencil_getheaderpos tem_stencil_getHeaderPos proc~tem_stencil_communicate->proc~tem_stencil_getheaderpos proc~init_ga2d_real init_ga2d_real interface~init~15->proc~init_ga2d_real proc~append_ga_dynlong_vec append_ga_dynlong_vec interface~append~4->proc~append_ga_dynlong_vec proc~append_ga_dynlong append_ga_dynlong interface~append~4->proc~append_ga_dynlong interface~expand~2 expand proc~append_ga_dynlong_vec->interface~expand~2 proc~append_ga_dynlong->interface~expand~2 proc~expand_ga_dynlong expand_ga_dynlong interface~expand~2->proc~expand_ga_dynlong

Called by

proc~~tem_stencil_communicate~~CalledByGraph proc~tem_stencil_communicate tem_stencil_communicate proc~redefine_halos redefine_halos proc~redefine_halos->proc~tem_stencil_communicate proc~communicate_elements communicate_elements proc~communicate_elements->proc~redefine_halos proc~tem_find_allelements tem_find_allElements proc~tem_find_allelements->proc~communicate_elements proc~tem_create_leveldesc tem_create_levelDesc proc~tem_create_leveldesc->proc~tem_find_allelements

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iStencilElem
integer, private :: iElem
integer, private :: nElems
integer(kind=long_k), private, allocatable:: buffer(:)
type(tem_stencilElement_type), private :: tStencil
integer, private :: addedPos
integer, private :: iProc
integer, private :: elemPos
integer, private :: neighPos
integer, private :: stencilPos
logical, private :: wasAdded