pio_support Module

@file pio_support.F90 @brief internal code for compiler workarounds, aborts and debug functions

$Revision$ $LastChangedDate$

\def _NO_MPI_RSEND Code added as a work around for poor rsend performance on cray systems with Gemini interconnect


Uses


Variables

Type Visibility Attributes Name Initial
logical, public :: Debug = .FALSE.
logical, public :: DebugIO = .FALSE.
logical, public :: DebugAsync = .FALSE.

Subroutines

public subroutine piodie(file, line, msg, ival1, msg2, ival2, msg3, ival3, mpirank)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: file
integer, intent(in) :: line
character(len=*), intent(in), optional :: msg
integer, intent(in), optional :: ival1
character(len=*), intent(in), optional :: msg2
integer, intent(in), optional :: ival2
character(len=*), intent(in), optional :: msg3
integer, intent(in), optional :: ival3
integer, intent(in), optional :: mpirank

public subroutine CheckMPIreturn(locmesg, errcode, file, line)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: locmesg
integer(kind=i4), intent(in) :: errcode
character(len=*), optional :: file
integer, intent(in), optional :: line

public subroutine pio_writedof(file, dof, comm, punit)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: file
integer(kind=pio_offset), intent(in) :: dof(:)
integer, intent(in) :: comm
integer, intent(in), optional :: punit

public subroutine pio_readdof(file, dof, comm, punit)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: file
integer(kind=pio_offset), pointer :: dof(:)
integer, intent(in) :: comm
integer, intent(in), optional :: punit

public subroutine pio_fc_gather_offset(sendbuf, sendcnt, sendtype, recvbuf, recvcnt, recvtype, root, comm, flow_cntl)

Purpose: Gather collective with additional flow control, so as to be more robust when used with high process counts.

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=pio_offset), intent(in) :: sendbuf(:)
integer, intent(in) :: sendcnt
integer, intent(in) :: sendtype
integer(kind=pio_offset), intent(out) :: recvbuf(*)
integer, intent(in) :: recvcnt
integer, intent(in) :: recvtype
integer, intent(in) :: root
integer, intent(in) :: comm
integer, intent(in), optional :: flow_cntl