StartMsg_MPI Subroutine

public subroutine StartMsg_MPI(comm)

Arguments

Type IntentOptional Attributes Name
integer, optional :: comm

Calls

proc~~startmsg_mpi~~CallsGraph proc~startmsg_mpi StartMsg_MPI mpi_barrier mpi_barrier proc~startmsg_mpi->mpi_barrier proc~get_rank_mpi Get_rank_MPI proc~startmsg_mpi->proc~get_rank_mpi proc~get_size_mpi get_size_MPI proc~startmsg_mpi->proc~get_size_mpi mpi_comm_rank mpi_comm_rank proc~get_rank_mpi->mpi_comm_rank proc~error_mpi Error_MPI proc~get_rank_mpi->proc~error_mpi mpi_comm_size mpi_comm_size proc~get_size_mpi->mpi_comm_size proc~get_size_mpi->proc~error_mpi

Called by

proc~~startmsg_mpi~~CalledByGraph proc~startmsg_mpi StartMsg_MPI proc~init_mpi Init_MPI proc~init_mpi->proc~startmsg_mpi

Source Code

  subroutine StartMsg_MPI(comm)
    integer,optional :: comm
    integer          :: comm_,size
    integer          :: i
    comm_=MPI_COMM_WORLD;if(present(comm))comm_=comm
    if(comm_ /= Mpi_Comm_Null)then
       rank = Get_Rank_MPI(comm_)
       size = Get_Size_MPI(comm_)
       if(rank==0)write(*,'(a)')"---------------MPI----------------"
       do i=0,size-1
          call MPI_Barrier(comm_,ierr)
          if(rank==i)write(*,"(A,I6,A,I6,A)")"rank:",rank," of ",size," alive"          
       enddo
       call MPI_Barrier(comm_,ierr)
       if(rank==0)write(*,'(a)')"----------------------------------"
       if(rank==0)write(*,'(a)')""
    endif
  end subroutine StartMsg_MPI