There seems to be a parallelization bug in triple_apply() API.↑ (resolved)
- SGraph does not retain the order of input vertices or edges.
There seems to be a parallelization bug in Graphlab Create 2.1.
When calling SGraph.triple_apply() with a function which updates edge attributes, the result becomes non-deterministic in the parallel processing situation.
To solve this problem, set the number of Graphlab’s worker threads to 1, which can be done as follows.
Though it seems OK to update node attributes in parallel, I’m not sure whether the number of workers can be changed after once initiated.