MADNESS
0.10.1
|
Used to pass information about the thread environment to a user's task. More...
#include <thread.h>
Public Member Functions | |
TaskThreadEnv (int nthread, int id) | |
Constructor collecting necessary environmental information. More... | |
TaskThreadEnv (int nthread, int id, Barrier *barrier) | |
Constructor collecting necessary environmental information. More... | |
bool | barrier () const |
int | id () const |
Get the ID of this thread. More... | |
int | nthread () const |
Get the number of threads collaborating on this task. More... | |
Private Attributes | |
Barrier * | _barrier |
Pointer to the shared barrier, null if there is only a single thread. More... | |
const int | _id |
ID of this thread (0,...,nthread-1). More... | |
const int | _nthread |
Number of threads collaborating on task. More... | |
Used to pass information about the thread environment to a user's task.
|
inline |
Constructor collecting necessary environmental information.
[in] | nthread | The number of threads collaborating on this task. |
[in] | id | The ID of this thread. |
[in] | barrier | Pointer to the shared barrier. |
References madness::ThreadBinder::bind(), and madness::binder.
|
inline |
Constructor collecting necessary environmental information.
[in] | nthread | The number of threads collaborating on this task. |
[in] | id | The ID of this thread. |
References madness::ThreadBinder::bind(), and madness::binder.
|
inline |
References _barrier, _id, _nthread, madness::Barrier::enter(), and MADNESS_ASSERT.
Referenced by TestBarrier::run(), and TimeBarrier::run().
|
inline |
Get the ID of this thread.
References _id.
Referenced by TestSystolicMatrixAlgorithm< T >::converged(), madness::SystolicFixOrbitalOrders::end_iteration_hook(), madness::SystolicPMOrbitalLocalize::end_iteration_hook(), TestBarrier::run(), madness::SystolicFixOrbitalOrders::start_iteration_hook(), madness::SystolicPMOrbitalLocalize::start_iteration_hook(), and TestSystolicMatrixAlgorithm< T >::start_iteration_hook().
|
inline |
Get the number of threads collaborating on this task.
References _nthread.
Referenced by madness::SystolicMatrixAlgorithm< T >::run(), madness::TaskInterface::run(), and TestBarrier::run().
|
private |
Pointer to the shared barrier, null
if there is only a single thread.
Referenced by barrier().
|
private |
|
private |