Data members

std::vector<T> danceq::internal::Vector::data

Local data.

If MPI is used this refers only to the local data that is distributed across processes.

const uint64_t danceq::internal::Vector::dim

Total dimension.

Information required by MPI

The following members are only included if MPI is available. Each rank owns parts of the data which is defined by start and end. The full information is stored in ownership_per_rank.

const MPI_Datatype danceq::internal::Vector::MPI_SCALAR

Datatype used by MPI.

const MPI_Datatype danceq::internal::Vector::MPI_SCALAR_REAL

Real datatype used by MPI.

int32_t danceq::internal::Vector::myrank

MPI rank of this process.

int32_t danceq::internal::Vector::world_size

Number of MPI processes.

uint64_t danceq::internal::Vector::mydim

Local dimension of rank.

uint64_t danceq::internal::Vector::start

Start of local rows enumerated by the Basis in ptr.

uint64_t danceq::internal::Vector::end

End of local rows enumerated by the Basis in ptr.

const std::vector<uint64_t> danceq::internal::Vector::ownership_per_rank

Rows that mark the memory distribution per rank.

Rank i is in charge of rows ownership_per_rank[i-1] to (not including the last) ownership_per_rank[i]. Note that ownership_per_rank[-1] is zero.