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

Public Member Functions | |
| virtual | ~ThreadAttribution () |
| virtual bool | isLocal (plint blockId) const =0 |
| Specifies if the block "blockId" is located on the current MPI thread. | |
| virtual bool | allBlocksAreLocal () const =0 |
| virtual int | getMpiProcess (plint blockId) const =0 |
| Specifies on which MPI process a given block is located. | |
| virtual int | getLocalThreadId (plint blockId) const =0 |
| virtual ThreadAttribution * | merge (ThreadAttribution const &rhs, std::map< plint, std::vector< plint > > const &remappedIds) const =0 |
| virtual ThreadAttribution * | extend (std::vector< plint > const &ids, std::vector< plint > const &mpiProcesses, std::vector< plint > const &localThreads) const =0 |
| virtual bool | hasCoProcessors () const |
| virtual void | setCoProcessors (std::map< plint, int > processorHandles) |
| virtual int | getCoProcessorHandle (plint id) const |
| virtual ThreadAttribution * | clone () const =0 |
| virtual plb::ThreadAttribution::~ThreadAttribution | ( | ) | [inline, virtual] |
| virtual bool plb::ThreadAttribution::allBlocksAreLocal | ( | ) | const [pure virtual] |
True means that all blocks are local, false means we don't know if all of them are local or not.
Implemented in plb::SerialThreadAttribution, plb::OneToOneThreadAttribution, and plb::ExplicitThreadAttribution.
| virtual ThreadAttribution* plb::ThreadAttribution::clone | ( | ) | const [pure virtual] |
| virtual ThreadAttribution* plb::ThreadAttribution::extend | ( | std::vector< plint > const & | ids, | |
| std::vector< plint > const & | mpiProcesses, | |||
| std::vector< plint > const & | localThreads | |||
| ) | const [pure virtual] |
Extend the current attribution by a selection of new identifiers, with explicitly specified mpiProcess and thread attribution.
Implemented in plb::SerialThreadAttribution, plb::OneToOneThreadAttribution, and plb::ExplicitThreadAttribution.
| virtual int plb::ThreadAttribution::getCoProcessorHandle | ( | plint | id | ) | const [inline, virtual] |
Reimplemented in plb::ExplicitThreadAttribution.
Referenced by plb::MultiBlockLattice3D< T, Descriptor >::collideAndStream(), plb::transferFromCoProcessors(), and plb::transferToCoProcessors().
| virtual int plb::ThreadAttribution::getLocalThreadId | ( | plint | blockId | ) | const [pure virtual] |
Specifies to which of the local shared-memory threads the blockId belongs.
Implemented in plb::SerialThreadAttribution, plb::OneToOneThreadAttribution, and plb::ExplicitThreadAttribution.
Referenced by plb::ExplicitThreadAttribution::merge(), and plb::OneToOneThreadAttribution::merge().
| virtual int plb::ThreadAttribution::getMpiProcess | ( | plint | blockId | ) | const [pure virtual] |
Specifies on which MPI process a given block is located.
Implemented in plb::SerialThreadAttribution, plb::OneToOneThreadAttribution, and plb::ExplicitThreadAttribution.
Referenced by plb::isoSurfaceMarchingCube(), plb::ExplicitThreadAttribution::merge(), plb::OneToOneThreadAttribution::merge(), and plb::RandomRedistribute3D::redistribute().
| virtual bool plb::ThreadAttribution::hasCoProcessors | ( | ) | const [inline, virtual] |
Reimplemented in plb::ExplicitThreadAttribution.
Referenced by plb::MultiBlockLattice3D< T, Descriptor >::collideAndStream().
| virtual bool plb::ThreadAttribution::isLocal | ( | plint | blockId | ) | const [pure virtual] |
Specifies if the block "blockId" is located on the current MPI thread.
Implemented in plb::SerialThreadAttribution, plb::OneToOneThreadAttribution, and plb::ExplicitThreadAttribution.
Referenced by plb::computeSparseManagement(), plb::SparseBlockStructure3D::getLocalBlocks(), plb::SparseBlockStructure2D::getLocalBlocks(), plb::identifyBlocksWithPureDynamics(), and plb::isoSurfaceMarchingCube().
| virtual ThreadAttribution* plb::ThreadAttribution::merge | ( | ThreadAttribution const & | rhs, | |
| std::map< plint, std::vector< plint > > const & | remappedIds | |||
| ) | const [pure 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.
Implemented in plb::SerialThreadAttribution, plb::OneToOneThreadAttribution, and plb::ExplicitThreadAttribution.
| virtual void plb::ThreadAttribution::setCoProcessors | ( | std::map< plint, int > | processorHandles | ) | [inline, virtual] |
Reimplemented in plb::ExplicitThreadAttribution.
Referenced by plb::MultiBlockManagement3D::setCoProcessors().
1.6.3
1.6.3