Public Member Functions | |
void | update (graphchi_vertex< VertexDataType, EdgeDataType > &vertex, graphchi_context &gcontext) |
void | before_iteration (int iteration, graphchi_context &info) |
void | after_iteration (int iteration, graphchi_context &ginfo) |
void | before_exec_interval (vid_t window_st, vid_t window_en, graphchi_context &ginfo) |
void | after_exec_interval (vid_t window_st, vid_t window_en, graphchi_context &ginfo) |
Additional Inherited Members | |
![]() | |
typedef VertexDataType | VertexDataType |
typedef EdgeDataType | EdgeDataType |
GraphChi programs need to subclass GraphChiProgram<vertex-type, edge-type> class. The main logic is usually in the update function.
|
inlinevirtual |
Called after an execution interval has finished.
Reimplemented from graphchi::GraphChiProgram< VertexDataType, EdgeDataType >.
|
inlinevirtual |
Called after an iteration has finished.
Reimplemented from graphchi::GraphChiProgram< VertexDataType, EdgeDataType >.
|
inlinevirtual |
Called before an execution interval is started.
Reimplemented from graphchi::GraphChiProgram< VertexDataType, EdgeDataType >.
|
inlinevirtual |
Called before an iteration starts.
Reimplemented from graphchi::GraphChiProgram< VertexDataType, EdgeDataType >.
|
inlinevirtual |
Vertex update function. On first iteration ,each vertex chooses a label = the vertex id. On subsequent iterations, each vertex chooses the minimum of the neighbor's label (and itself).
Broadcast new label to neighbors by writing the value to the incident edges. Note: on first iteration, write only to out-edges to avoid overwriting data (this is kind of a subtle point)
Implements graphchi::GraphChiProgram< VertexDataType, EdgeDataType >.