QInchworm.mpi

QInchworm.mpi.ismasterFunction
ismaster() -> Bool
ismaster(comm::MPI.Comm) -> Bool

Check whether the calling process has the rank 0 within the group associated with the communicator comm.

source
QInchworm.mpi.rank_sub_rangeFunction
rank_sub_range(N::Integer; comm) -> UnitRange{Int64}

Split the range 1:N between MPI processes in the communicator comm as evenly as possible and return the sub-range 'owned' by the calling process.

source
QInchworm.mpi.all_gatherMethod
all_gather(subvec::Array{T, 1}; comm) -> Any

Perform the MPI collective operation Allgather for vectors of elements of a generic type T.

Parameters

  • subvec: Subvector to be gathered.
  • comm: MPI communicator.

Returns

The gathered vector of the same element type T.

source
QInchworm.mpi.all_reduce!Method
all_reduce!(
    sbm::Dict{Int64, Tuple{Int64, Matrix{ComplexF64}}},
    op;
    comm
)

Perform the in-place MPI collective operation Allreduce for a sector block matrix.

Parameters

  • sbm: Sector block matrices to be reduced.
  • op: Reduction operation.
  • comm: MPI communicator.

Returns

The gathered vector of the same element type T.

source