|
NAMD
|
#include <BroadcastObject.h>
Public Member Functions | |
| SimpleBroadcastObject (int id_in, const LDObjHandle *h=0, NodeBroadcast *nodeBroadcastIn=0, const bool useSharedIfPossible=false) | |
| Creates a new SimpleBroadcastObject with given id. More... | |
| ~SimpleBroadcastObject () | |
| T | get (int tag, const int expected=-1) |
| Attempts to retrieve a previously published value for a given tag and id. More... | |
| int | getSize () |
| int | getBcastSize () |
| int | getTaggedSize () |
| void | publish (int tag, const T &t) |
Public Member Functions inherited from BroadcastClient | |
| BroadcastClient (int id) | |
| ~BroadcastClient () | |
| void | awaken (int id, int tag) |
Public Attributes | |
| const LDObjHandle * | ldObjPtr |
| bool | useShared = false |
| int | id = -1 |
| NodeBroadcast * | nodeBroadcast |
Public Attributes inherited from BroadcastClient | |
| int | id |
Additional Inherited Members | |
Protected Member Functions inherited from BroadcastClient | |
| void | suspendFor (int tag) |
Protected Attributes inherited from BroadcastClient | |
| int | suspended |
| int | waitForTag |
| CthThread | thread |
Definition at line 53 of file BroadcastObject.h.
|
inline |
Creates a new SimpleBroadcastObject with given id.
NodeBroadcast is used by the shared memory backend and the same pointer should be given to all objects on all Pes.
Even if we are using the shared memory backend, some of the broadcast objects must still use the charm++ backend since they are used for barriers, like scriptBarrier. The shared memory backend must be explicitly enabled using the useSharedIfPossible parameter
Definition at line 74 of file BroadcastObject.h.
|
inline |
Definition at line 94 of file BroadcastObject.h.
|
inline |
Attempts to retrieve a previously published value for a given tag and id.
This function has slightly different behavior between the shared memory and charm++ backends. The Charm++ backend will suspend and wait if it attempts to retrieve an unpublished tag, while the shared memory backend will throw an error. The shared memory backend also should be given the expected number of retrievals so the data can be removed
Definition at line 105 of file BroadcastObject.h.
Referenced by Sequencer::adaptTempUpdate(), Sequencer::algorithm(), Controller::algorithm(), Sequencer::berendsenPressure(), Sequencer::berendsenPressure_SOA(), Sequencer::correctMomentum(), Sequencer::langevinPiston(), Sequencer::langevinPiston_SOA(), Sequencer::minimize(), Sequencer::multigratorPressure(), Sequencer::multigratorTemperature(), Sequencer::rescaleaccelMD(), Sequencer::rescaleVelocities(), Sequencer::stochRescaleVelocities(), Sequencer::stochRescaleVelocities_SOA(), Sequencer::submitCollections(), Sequencer::tcoupleVelocities(), and Sequencer::traceBarrier().
|
inline |
Definition at line 137 of file BroadcastObject.h.
|
inline |
Definition at line 134 of file BroadcastObject.h.
|
inline |
Definition at line 140 of file BroadcastObject.h.
|
inline |
Definition at line 143 of file BroadcastObject.h.
Referenced by Controller::adaptTempUpdate(), Controller::berendsenPressure(), Controller::correctMomentum(), Controller::langevinPiston1(), Controller::minimize(), Controller::monteCarloPressure_accept(), Controller::monteCarloPressure_prepare(), Controller::multigratorPressure(), Controller::multigratorTemperature(), Controller::printEnergies(), Controller::rescaleaccelMD(), Controller::rescaleVelocities(), Controller::resumeAfterTraceBarrier(), Controller::stochRescaleVelocities(), and Controller::tcoupleVelocities().
| int SimpleBroadcastObject< T >::id = -1 |
Definition at line 60 of file BroadcastObject.h.
Referenced by SimpleBroadcastObject< Tensor >::get(), SimpleBroadcastObject< Tensor >::publish(), and SimpleBroadcastObject< Tensor >::SimpleBroadcastObject().
| const LDObjHandle* SimpleBroadcastObject< T >::ldObjPtr |
Definition at line 57 of file BroadcastObject.h.
Referenced by SimpleBroadcastObject< Tensor >::get().
| NodeBroadcast* SimpleBroadcastObject< T >::nodeBroadcast |
Definition at line 61 of file BroadcastObject.h.
Referenced by SimpleBroadcastObject< Tensor >::get(), SimpleBroadcastObject< Tensor >::publish(), and SimpleBroadcastObject< Tensor >::SimpleBroadcastObject().
| bool SimpleBroadcastObject< T >::useShared = false |
Definition at line 59 of file BroadcastObject.h.
Referenced by SimpleBroadcastObject< Tensor >::get(), SimpleBroadcastObject< Tensor >::publish(), and SimpleBroadcastObject< Tensor >::SimpleBroadcastObject().
1.8.14