Affiliation:
1. Computing Systems Laboratory, Zurich Research Center, Huawei Technologies Switzerland AG, Zürich, Switzerland
2. Department of Computer Science, ETH Zurich, Zürich, Switzerland
Abstract
GraphBLASis a recent standard that allows the expression of graph algorithms in the language of linear algebra and enables automatic code parallelization and optimization. GraphBLAS operations are memory bound and may benefit from data locality optimizations enabled by nonblocking execution. However, nonblocking execution remains under-evaluated. In this article, we present a novel design and implementation that investigates nonblocking execution in GraphBLAS. Lazy evaluation enables runtime optimizations that improve data locality, and dynamic data dependence analysis identifies operations that may reuse data in cache. The nonblocking execution of an arbitrary number of operations results in dynamic parallelism, and the performance of the nonblocking execution depends on two parameters, which are automatically determined, at run-time, based on a proposed analytic model. The evaluation confirms the importance of nonblocking execution for various matrices of three algorithms, by showing up to 4.11× speedup over blocking execution as a result of better cache utilization. The proposed analytic model makes the nonblocking execution reach up to 5.13× speedup over the blocking execution. The fully automatic performance is very close to that obtained by using the best manual configuration for both small and large matrices. Finally, the evaluation includes a comparison with other state-of-the-art frameworks for numerical linear algebra programming that employ parallel execution and similar optimizations to those discussed in this work, and the presented nonblocking execution reaches up to 16.1× speedup over the state of the art.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference32 articles.
1. 2021. ALP/GraphBLAS. Retrieved on June 22 2022. https://github.com/Algebraic-Programming/ALP.
2. 2022. Searchable Abstracts Document Conference on Parallel Processing for Scientific Computing February 23–26 2022. Retrieved on August 17 2022. https://www.siam.org/Portals/0/Conferences/PP22/PP22_ABSTRACTS.pdf.
3. Parallel GraphBLAS with OpenMP
4. Compiler transformations for high-performance computing
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Effective implementation of the High Performance Conjugate Gradient benchmark on GraphBLAS;2023 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2023-05