communicate_matrixmpi Subroutine

public subroutine communicate_matrixmpi(comm, ndim_glob, ndim_loc, nz_al, icsr, jcsr, val)

Assembles a global CSR matrix, which was built partially on individual processes

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: comm

MPI communicator

integer, intent(in) :: ndim_glob

Dimension of global matrix

integer, intent(in) :: ndim_loc

Local dimension of partial matrix

integer, intent(in) :: nz_al

Dimension of jcsr, val, must be larger than numbers of non-zeros of global matrix

integer, intent(inout), dimension(ndim_glob+1) :: icsr

On input: i-indices (CSR format) of partial matrix On output: i-indices (CSR format) of global matrix

integer, intent(inout), dimension(nz_al) :: jcsr

On input: columnd indices (CSR format) of partial matrix On output: columnd indices (CSR format) of global matrix

real(kind=FP), intent(inout), dimension(nz_al) :: val

On input: Values (CSR format) of partial matrix On output: Values (CSR format) of global matrix


Calls

proc~~communicate_matrixmpi~~CallsGraph proc~communicate_matrixmpi communicate_matrixmpi mpi_allgather mpi_allgather proc~communicate_matrixmpi->mpi_allgather mpi_allgatherv mpi_allgatherv proc~communicate_matrixmpi->mpi_allgatherv mpi_allreduce mpi_allreduce proc~communicate_matrixmpi->mpi_allreduce mpi_comm_rank mpi_comm_rank proc~communicate_matrixmpi->mpi_comm_rank mpi_comm_size mpi_comm_size proc~communicate_matrixmpi->mpi_comm_size mpi_exscan mpi_exscan proc~communicate_matrixmpi->mpi_exscan proc~get_stderr get_stderr proc~communicate_matrixmpi->proc~get_stderr