Abstract. Efficient graph analysis is crucial for many data analytics applications. However, developing high-performance parallel graph algorithms is a challenging task: Several well-known hardware and software-related challenges arise. Recent architectural advances and variety makes designing flexible graph kernels that can run well on various platforms more challenging. In this work, we propose a novel graph processing framework for modern shared-memory heterogeneous platforms. Our framework implements a block-based programming model. That allows a user to express a graph algorithm using host and device functors that operate on an ordered list of blocks (subgraphs). Our framework deploys these computations to all available resources in a heterogeneous architecture. One can implement a diverse set of graph algorithms in our framework, and we support graph computations that fit in host DRAM but not in GPU device memory. Our experimental results show that these achieve competitive performance compared to hand-optimized implementations. Based on our experiments in the median, our framework achieves 1.6 times to 5.7 times better performance than state-of-the-art graph processing systems, respectively.
| PP22 Home 2022 | Program | Speaker Index |