Functor for loop body. More...
#include <AVIunordered.h>
Public Member Functions | |
| process (Graph &graph, std::vector< int > &inDegVec, MeshInit &meshInit, GlobalVec &g, GaloisRuntime::PerCPU< LocalVec > &perIterLocalVec, const AVIComparator &aviCmp, bool createSyncFiles, IterCounter &iter) | |
| template<typename ContextTy > | |
| void | operator() (const GNode &src, ContextTy &lwl) |
| Loop body. | |
Public Attributes | |
| Graph & | graph |
| std::vector< int > & | inDegVec |
| MeshInit & | meshInit |
| GlobalVec & | g |
| GaloisRuntime::PerCPU< LocalVec > & | perIterLocalVec |
| const AVIComparator & | aviCmp |
| bool | createSyncFiles |
| IterCounter & | iter |
Functor for loop body.
| AVIunordered::process::process | ( | Graph & | graph, | |
| std::vector< int > & | inDegVec, | |||
| MeshInit & | meshInit, | |||
| GlobalVec & | g, | |||
| GaloisRuntime::PerCPU< LocalVec > & | perIterLocalVec, | |||
| const AVIComparator & | aviCmp, | |||
| bool | createSyncFiles, | |||
| IterCounter & | iter | |||
| ) | [inline] |
| void AVIunordered::process::operator() | ( | const GNode & | src, | |
| ContextTy & | lwl | |||
| ) | [inline] |
Loop body.
The loop body uses one-shot optimization, where we grab abstract locks on the node and its neighbors before performing the udpates. This removes the need for saving and performing undo operations.
| src | is active elemtn | |
| lwl | is the worklist handle |
| std::vector<int>& AVIunordered::process::inDegVec |
1.6.3