$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
#include <threadAttribution.h>


Public Member Functions | |
| ExplicitThreadAttribution () | |
| ExplicitThreadAttribution (std::map< plint, plint > const &mpiProcessAttribution_) | |
| ExplicitThreadAttribution (std::map< plint, plint > const &mpiProcessAttribution_, std::map< plint, plint > const &localThreadAttribution_) | |
| void | addBlock (plint blockId, plint mpiProcess, plint localThread=0) |
| 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 ThreadAttribution * | merge (ThreadAttribution const &rhs, std::map< plint, std::vector< plint > > const &remappedIds) const |
| virtual ThreadAttribution * | extend (std::vector< plint > const &ids, std::vector< plint > const &mpiProcesses, std::vector< plint > const &localThreads) const |
| virtual bool | hasCoProcessors () const |
| virtual void | setCoProcessors (std::map< plint, int > processorHandles) |
| virtual int | getCoProcessorHandle (plint id) const |
| virtual ThreadAttribution * | clone () const |
| plb::ExplicitThreadAttribution::ExplicitThreadAttribution | ( | ) |
| plb::ExplicitThreadAttribution::ExplicitThreadAttribution | ( | std::map< plint, plint > const & | mpiProcessAttribution_ | ) |
| plb::ExplicitThreadAttribution::ExplicitThreadAttribution | ( | std::map< plint, plint > const & | mpiProcessAttribution_, | |
| std::map< plint, plint > const & | localThreadAttribution_ | |||
| ) |
| bool plb::ExplicitThreadAttribution::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::ExplicitThreadAttribution::clone | ( | ) | const [virtual] |
Implements plb::ThreadAttribution.
References ExplicitThreadAttribution().
| ThreadAttribution * plb::ExplicitThreadAttribution::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 ExplicitThreadAttribution(), and PLB_PRECONDITION.
| virtual int plb::ExplicitThreadAttribution::getCoProcessorHandle | ( | plint | id | ) | const [inline, virtual] |
Reimplemented from plb::ThreadAttribution.
| int plb::ExplicitThreadAttribution::getLocalThreadId | ( | plint | blockId | ) | const [virtual] |
Specifies to which of the local shared-memory threads the blockId belongs.
Implements plb::ThreadAttribution.
| int plb::ExplicitThreadAttribution::getMpiProcess | ( | plint | blockId | ) | const [virtual] |
Specifies on which MPI process a given block is located.
Implements plb::ThreadAttribution.
| virtual bool plb::ExplicitThreadAttribution::hasCoProcessors | ( | ) | const [inline, virtual] |
Reimplemented from plb::ThreadAttribution.
| bool plb::ExplicitThreadAttribution::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::ExplicitThreadAttribution::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 addBlock(), ExplicitThreadAttribution(), plb::ThreadAttribution::getLocalThreadId(), and plb::ThreadAttribution::getMpiProcess().
| virtual void plb::ExplicitThreadAttribution::setCoProcessors | ( | std::map< plint, int > | processorHandles | ) | [inline, virtual] |
Reimplemented from plb::ThreadAttribution.
1.6.3
1.6.3