tem_comm_createBuffer Subroutine

public subroutine tem_comm_createBuffer(commBuffer, nScalars, nElems, elemRanks)

Routine to build communication buffer using elemRanks. This routine can be used only if all elements need to be communicated but they need process-wise seperation. Uses nScalars to get position in the value array to communicate. For send buffer: elemRanks contains target ranks to send data to For recv buffer: elemRanks contains source ranks to recv data from

Arguments

TypeIntentOptionalAttributesName
type(tem_communication_type), intent(out) :: commBuffer

send or recv communication buffer to be created

integer, intent(in) :: nScalars

Number of scalars per element

integer, intent(in) :: nElems

Total number of elements or points to communicate

integer, intent(in) :: elemRanks(nElems)

Target or source rank for each element or point


Calls

proc~~tem_comm_createbuffer~~CallsGraph proc~tem_comm_createbuffer tem_comm_createBuffer interface~positionofval~4 positionofval proc~tem_comm_createbuffer->interface~positionofval~4 proc~tem_commbuf_real_fillpos tem_commbuf_real_fillpos proc~tem_comm_createbuffer->proc~tem_commbuf_real_fillpos interface~destroy~20 destroy proc~tem_comm_createbuffer->interface~destroy~20 proc~tem_comm_init tem_comm_init proc~tem_comm_createbuffer->proc~tem_comm_init interface~append~21 append proc~tem_comm_createbuffer->interface~append~21 proc~posofval_label posofval_label interface~positionofval~4->proc~posofval_label proc~destroy_da_label destroy_da_label interface~destroy~20->proc~destroy_da_label proc~append_da_veclabel append_da_veclabel interface~append~21->proc~append_da_veclabel proc~append_da_label append_da_label interface~append~21->proc~append_da_label interface~expand~19 expand proc~append_da_veclabel->interface~expand~19 interface~sortedposofval~4 sortedposofval proc~posofval_label->interface~sortedposofval~4 proc~append_da_label->interface~expand~19 proc~append_da_label->interface~sortedposofval~4 proc~expand_da_label expand_da_label interface~expand~19->proc~expand_da_label proc~sortposofval_label sortposofval_label interface~sortedposofval~4->proc~sortposofval_label

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iElem
integer, private :: iProc
integer, private :: iVar
integer, private :: counter
integer, private :: pntPos
type(dyn_intarray_type), private :: partnerProc
integer, private, allocatable:: pos(:)