tem_load_commPattern Subroutine

public subroutine tem_load_commPattern(me, conf, style)

This subroutine loads the communication pattern from a Lua script and sets the exchange routine to be used accordingly.

The variable read from the script is "commpattern". Several patterns are available: * isend_irecv - Use explicit buffers, copy first the outgoing ones, then post irecvs and isends, wait on all, and copy the incoming buffers to their final locations (default). * isend_irecv_mpimem - Same as isend_irecv, but use memory that is allocatd by MPI_Alloc_mem for the buffers. * isend_irecv_overlap - Similar to isend_irecv, but directly post sends, after filling the outgoing buffer to each process, wait on any incoming messages and only wait on sends, after everything is copied into the final location. * overlap_mpimem - Same as isend_irecv_overlap, but use memory that is allocated by MPI_Alloc_mem for the buffers. * typed_isend_irecv - Instead of copying the memory around, define a indexed MPI datatype and use that in the exchange. * gathered_type - Similar to typed_isend_irecv, but with minimal number of blocks in the indexed type, by tracking only contiguous blocks in the memory layout.

Instead of reading the style from a configuration script, it can also be directly set by the caller. If nothing is specified by the caller, the style will default to isend_irecv.

Usage:

commpattern = 'isend_irecv'

Arguments

TypeIntentOptionalAttributesName
type(tem_commPattern_type), intent(out) :: me

commpattern to set

type(flu_State), optional :: conf

handle to the Lua script

character(len=*), intent(in), optional :: style

optional communication style


Calls

proc~~tem_load_commpattern~~CallsGraph proc~tem_load_commpattern tem_load_commPattern proc~tem_abort tem_abort proc~tem_load_commpattern->proc~tem_abort interface~aot_get_val~2 aot_get_val proc~tem_load_commpattern->interface~aot_get_val~2 mpi_abort mpi_abort proc~tem_abort->mpi_abort

Called by

proc~~tem_load_commpattern~~CalledByGraph proc~tem_load_commpattern tem_load_commPattern proc~tem_load_general tem_load_general proc~tem_load_general->proc~tem_load_commpattern proc~load_env load_env proc~load_env->proc~tem_load_general proc~check_serial_multilevel_facedesc check_serial_multilevel_faceDesc proc~check_serial_multilevel_facedesc->proc~tem_load_general program~tem_varsys_stfunvar_test tem_varSys_stfunVar_test program~tem_varsys_stfunvar_test->proc~load_env program~tem_varsys_statevar_test tem_varSys_stateVar_test program~tem_varsys_statevar_test->proc~load_env program~tem_varsys_derivevar_test tem_varSys_deriveVar_test program~tem_varsys_derivevar_test->proc~load_env proc~check_variableoperations check_variableOperations proc~check_variableoperations->proc~load_env program~tem_variable_evaltype_test tem_variable_evaltype_test program~tem_variable_evaltype_test->proc~load_env program~tem_varsys_test tem_varSys_test program~tem_varsys_test->proc~load_env program~tem_spacetime_fun_test tem_spacetime_fun_test program~tem_spacetime_fun_test->proc~load_env program~tem_variable_extract_test tem_variable_extract_test program~tem_variable_extract_test->proc~load_env program~tem_variable_combine_test tem_variable_combine_Test program~tem_variable_combine_test->proc~load_env program~tem_face_test~2 tem_face_test program~tem_face_test~2->proc~check_serial_multilevel_facedesc proc~check_serial_singlelevel_facedesc check_serial_singlelevel_faceDesc proc~check_serial_singlelevel_facedesc->proc~load_env program~tem_varsys_opvar_test tem_varSys_opVar_test program~tem_varsys_opvar_test->proc~load_env proc~check_parallel_singlelevel_facedesc check_parallel_singlelevel_faceDesc proc~check_parallel_singlelevel_facedesc->proc~load_env program~tem_face_test~3 tem_face_test program~tem_face_test~3->proc~check_parallel_singlelevel_facedesc program~tem_face_test tem_face_test program~tem_face_test->proc~check_serial_singlelevel_facedesc program~tem_logical_opertor_test tem_logical_opertor_test program~tem_logical_opertor_test->proc~check_variableoperations

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iError