Previous | Next --- Slide 26 of 42
Back to Lecture Thumbnails
Kapteyn

From a programmer's perspective it feels like using Ligra forces the programmer to think in terms of "waves" and to group vertices in cohorts. It kind of puts me more in a SIMD programming mindset.

Contrastingly the GraphLab framework makes me think at the granularity of a vertex. Programs in GraphLab feel more vertex oriented. Functions used in GraphLab determine and gather data relevant to a specific vertex, perform updates on that vertex, and send data out from that vertex to its neighbors. Furthermore, a vertex can signal to the other vertices whether or not it is done.

So the vertices seem to be the center of attention in GraphLab whereas in Ligra the focus is more on a particular vector of vertices in a given wave of the algorithm. I would definitely prefer GraphLab if I had to implement something like an RNN.