nb_allgatherv Interface

public interface nb_allgatherv

Contents


Module Procedures

private subroutine nb_allgatherv_complex_array_1to1(arr, count, out, recvcnts, displs, request)

A subroutine to do a allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:) :: arr

The data to gather

integer, intent(in) :: count

How much data to gather, <=SIZE(arr)

complex, intent(out), dimension(:) :: out

The gathered data

integer, intent(in), dimension(:) :: recvcnts

Array detailing how much data to expect from each proc

integer, intent(in), dimension(:) :: displs

Array detailing offset in array where gathered data is to be stored

integer, intent(out) :: request

private subroutine nb_allgatherv_complex_array_1to3_sub(arr, count, out, recvcnts, displs, sub_comm, request)

A subroutine to do a non-blocking allgatherv operation, sending recvcnts(iproc) data from the iproc'th processor to all others starting at arr(start).

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:) :: arr

The data to gather

integer, intent(in) :: count

How much data to gather, <=SIZE(arr)

complex, intent(out), dimension(:,:,:) :: out

The gathered data

integer, intent(in), dimension(:) :: recvcnts

Array detailing how much data to expect from each proc

integer, intent(in), dimension(:) :: displs

Array detailing offset in array where gathered data is to be stored

integer, intent(in) :: sub_comm

Sub-communicator handle

integer, intent(out) :: request

FIXME : Add documentation