eunaeuna / GraphFrameworkOnGPUs

2 stars 0 forks source link

BC results #13

Open jowens opened 5 years ago

jowens commented 5 years ago

Gunrock’s faster algorithm was in most cases 3 × −4× faster than Hornet.

Why?

(Also, are there multiple algorithms in Gunrock? One is faster than another? That's not my understanding.)

There are a few instances where Hornet is 2× faster than Gunrock.

Why?

The entire point here is to compare different graph frameworks in a meaningful way so as to give insights into the graph frameworks. "A is faster than B" is not useful without an analysis of "why".

ogreen commented 5 years ago

I think that the above wording is incorrect. Gunrock has one BC algorithm with many tweaks.

@eunaeuna , perhaps we should take a look at the number of frontiers as well as the distribution (in terms of sizes) of the frontiers. This might help figure out which of the load-balanicing mechanisms is better.

@neoblizz , can you help us understanding what load-balancing mechanism is being used and how it exactly works? Also what is the impact of the additional optimizations (in-sizing and queue-sizing)? How much performance improvement do they offer? These are not implemented within Hornet.

https://github.com/gunrock/gunrock/blob/master/scripts/performance/bc-test.sh "--traversal-mode=LB_CULL --in-sizing=1.1 --queue-sizing=1.2"

jowens commented 5 years ago

In general I would differentiate different load-balance strategy (e.g., LB_CULL) from different algorithms. I don't think there are multiple algorithms within Gunrock.