{'fraction_non_alphanumeric': 0.03605980650835532, 'fraction_numerical': 0.0158311345646438, 'mean_word_length': 5.322222222222222, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
HetGraph: A High Performance CPU-CGRA Architecture for Matrix-based Graph Analytics

In this paper, we explore graph analytics on a heterogeneous platform named HetGraph integrating with CPU and a flexible CGRA accelerator called RFU for matrix-based paradigm in this paper. RFU utilizes the lightweight pipeline without data hazards to support various generalized Sparse Matrix-Vector multiplications (SpMVs) of matrix-based graph analytics effectively. HetGraph utilizes the degree-aware workload distribution with vector-scanning sparsity removing scheme to alleviate the impact of highly sparse graph. Furthermore, we propose a heterogeneous work-stealing strategy to balance the workloads between CPU and RFU for HetGraph. To the best of our knowledge, HetGraph is the first heterogeneous CPU-CGRA architecture for matrix-based graph analytics. Overall, HetGraph achieves 9.42x, 2.45x speedup, and 9.80x, 7.70x energy savings on average compared to state-of-the-art (SOTA) CPU-based and GPGPU-based solutions respectively. Compared to the SOTA graph analytics accelerator, HetGraph also achieves 1.42x speedup and 1.06x less energy.