$treeview $search $mathjax
Palabos  Version 1.1
$projectbrief
$projectbrief
$searchbox

plb::OneToOneThreadAttribution Struct Reference

#include <threadAttribution.h>

Inheritance diagram for plb::OneToOneThreadAttribution:
Collaboration diagram for plb::OneToOneThreadAttribution:

List of all members.

Public Member Functions

virtual bool isLocal (plint blockId) const
 Specifies if the block "blockId" is located on the current MPI thread.
virtual bool allBlocksAreLocal () const
virtual int getMpiProcess (plint blockId) const
 Specifies on which MPI process a given block is located.
virtual int getLocalThreadId (plint blockId) const
virtual ThreadAttributionmerge (ThreadAttribution const &rhs, std::map< plint, std::vector< plint > > const &remappedIds) const
virtual ThreadAttributionextend (std::vector< plint > const &ids, std::vector< plint > const &mpiProcesses, std::vector< plint > const &localThreads) const
virtual ThreadAttributionclone () const

Member Function Documentation

bool plb::OneToOneThreadAttribution::allBlocksAreLocal (  )  const [virtual]

True means that all blocks are local, false means we don't know if all of them are local or not.

Implements plb::ThreadAttribution.

ThreadAttribution * plb::OneToOneThreadAttribution::clone (  )  const [virtual]
ThreadAttribution * plb::OneToOneThreadAttribution::extend ( std::vector< plint > const &  ids,
std::vector< plint > const &  mpiProcesses,
std::vector< plint > const &  localThreads 
) const [virtual]

Extend the current attribution by a selection of new identifiers, with explicitly specified mpiProcess and thread attribution.

Implements plb::ThreadAttribution.

References PLB_PRECONDITION.

int plb::OneToOneThreadAttribution::getLocalThreadId ( plint  blockId  )  const [virtual]

Specifies to which of the local shared-memory threads the blockId belongs.

Implements plb::ThreadAttribution.

int plb::OneToOneThreadAttribution::getMpiProcess ( plint  blockId  )  const [virtual]

Specifies on which MPI process a given block is located.

Implements plb::ThreadAttribution.

bool plb::OneToOneThreadAttribution::isLocal ( plint  blockId  )  const [virtual]

Specifies if the block "blockId" is located on the current MPI thread.

Implements plb::ThreadAttribution.

References plb::global::mpi().

ThreadAttribution * plb::OneToOneThreadAttribution::merge ( ThreadAttribution const &  rhs,
std::map< plint, std::vector< plint > > const &  remappedIds 
) const [virtual]

Merge current attribution with rhs. From rhs, select explicitly the specified blocks, and remap them to fit into the new attribution, as specified by the parameter remappedIds.

Implements plb::ThreadAttribution.

References plb::ExplicitThreadAttribution::addBlock(), plb::ThreadAttribution::getLocalThreadId(), and plb::ThreadAttribution::getMpiProcess().


The documentation for this struct was generated from the following files: