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 |