CGCL-codes / Frog

Frog is Asynchronous Graph Processing on GPU with Hybrid Coloring Model. The fundamental idea is based on Pareto principle (or 80-20 rule) about coloring algorithms as we observed through masses of real graph coloring cases.
http://cgcl.grid.hust.edu.cn/xhshi/projects/frog.html
GNU General Public License v2.0
36 stars 23 forks source link

Partitioned vs Non Partitioned Graph Performance #7

Open Samtruong opened 5 years ago

Samtruong commented 5 years ago

Hello, I ran the Frog framework exp executable on the V100 and K40 GPU by changing -arch=sm_20 in the Makefile to support -arch=sm_70 and -arch=sm_35 respectively. I also enabled the non-partitioned option by uncommenting gpu_sssp_edge_loop in sssp.cu, gpu_bfs_edge_loop in bfs.cu and gpu_cc_edge_loop in cc.cu. The graph used in the experiment is com-youtube which can be found here: https://sparse.tamu.edu/SNAP/com-Youtube

This is the result of running ./exp frogexp

The left side of the graph is Frog running on V100, right side is Frog on K40. All of the runs are check PASS . My concern is: it looks like for all runs, the non-partitioned implementations outperform the partitioned implementation. I cannot produce results where the asynchronous model (with coloring as partitioning scheme) outperform the bulk-sync model. Please let me know if I am doing something wrong.

Thank you!