From 8e682ebe07386c47e045eef973d6900a92f43500 Mon Sep 17 00:00:00 2001 From: Scott Beamer Date: Tue, 18 Aug 2015 17:23:00 -0700 Subject: [PATCH] bc comments --- bc.cc | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/bc.cc b/bc.cc index 4d111ed..a34f51e 100644 --- a/bc.cc +++ b/bc.cc @@ -17,10 +17,35 @@ #include "timer.h" +/* +GAP Benchmark Suite +Kernel: Betweenness Centrality (BC) +Author: Scott Beamer + +Will return array of approx betweenness centrality scores for each vertex + +This BC implementation makes use of the Brandes [1] algorithm with +implementation optimizations from Madduri et al. [2]. It is only an approximate +because it does not compute the paths from every start vertex, but only a small +subset of them. Additionally, the scores are normalized to the range [0,1]. + +As an optimization to save memory, this implementation uses a Bitmap to hold +succ (list of successors) found during the BFS phase that are used in the back- +propagation phase. + +[1] Ulrik Brandes. "A faster algorithm for betweenness centrality." Journal of + Mathematical Sociology, 25(2):163–177, 2001. + +[2] Kamesh Madduri, David Ediger, Karl Jiang, David A Bader, and Daniel + Chavarria-Miranda. "A faster parallel algorithm and efficient multithreaded + implementations for evaluating betweenness centrality on massive datasets." + International Symposium on Parallel & Distributed Processing (IPDPS), 2009. +*/ + + using namespace std; typedef float ScoreT; - void PBFS(const Graph &g, NodeID source, pvector &path_counts, Bitmap &succ, vector::iterator> &depth_index, SlidingQueue &queue) {