Advertisement

Gemini代码摘录(三)vertices处理过程

阅读量:

process_vertices函数解析

存在两个参数,分别为process以及待处理的点集合

复制代码
    process_vertices(std::function<R(VertexId)> process, Bitmap * active) {}
    
      
    

其使用方式如下:

复制代码
    double delta = graph->process_vertices<double>(
    [&](VertexId vtx){
      curr[vtx] = (double)1;
      if (graph->out_degree[vtx]>0) {
        curr[vtx] /= graph->out_degree[vtx];
      }
      return (double)1;
    },
    active_in
      );
    
      
      
      
      
      
      
      
      
      
      
    

函数体内部实现方式如下:

依据当前存在的线程数量以及所设定的每个socket内线程数,将线程分配至对应的分区中,其中s_i表示分区的编号,而s_j则代表某一socket内部的线程序号。

全部评论 (0)

还没有任何评论哟~