| 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP , EdgeDirection ed>  | 
| void  | ForEachEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP >  | 
| void  | ForEachOutgoingEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename EDGE_OP >  | 
| void  | ForEachOutgoingEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP >  | 
| void  | ForEachOutgoingInnerVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename EDGE_OP >  | 
| void  | ForEachOutgoingInnerVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP >  | 
| void  | ForEachOutgoingOuterVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename EDGE_OP >  | 
| void  | ForEachOutgoingOuterVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP >  | 
| void  | ForEachIncomingEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename EDGE_OP >  | 
| void  | ForEachIncomingEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP >  | 
| void  | ForEachIncomingInnerVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename EDGE_OP >  | 
| void  | ForEachIncomingInnerVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP >  | 
| void  | ForEachIncomingOuterVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename EDGE_OP >  | 
| void  | ForEachIncomingOuterVertexEdge (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, EDGE_OP op, LoadBalancing lb) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP , EdgeDirection ed>  | 
| void  | ForEachEdgeCM (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP , EdgeDirection ed>  | 
| void  | ForEachEdgeCTA (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP , EdgeDirection ed>  | 
| void  | ForEachEdgeCMOld (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP , EdgeDirection ed>  | 
| void  | ForEachEdgeWarp (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP , EdgeDirection ed>  | 
| void  | ForEachEdgeStrict (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , typename ASSIGN_OP , typename EDGE_OP , EdgeDirection ed>  | 
| void  | ForEachEdgeNone (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws, ASSIGN_OP assign_op, EDGE_OP op) | 
|   | 
| 
template<typename FRAG_T , typename WORK_SOURCE_T , EdgeDirection ed>  | 
| void  | __calc_prefix_sum__ (const Stream &stream, const FRAG_T &dev_frag, const WORK_SOURCE_T &ws) | 
|   |