AVIunordered::process Struct Reference

Functor for loop body. More...

#include <AVIunordered.h>

List of all members.

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

Detailed Description

Functor for loop body.


Constructor & Destructor Documentation

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]

Member Function Documentation

template<typename ContextTy >
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.

Parameters:
src is active elemtn
lwl is the worklist handle

Member Data Documentation


The documentation for this struct was generated from the following file:
Generated on Tue Aug 2 11:51:26 2011 for Galois by  doxygen 1.6.3