ABSTRACT
Semirings are widely used in large-scale scientific applications of high-dimensional data and graph analytics for linear algebra computations. In this work, we propose a semiring compiler for today's high-performance computing (HPC) systems, often armed with heterogeneous devices, as an alternative to library-based approaches. In particular, we extend a domain-specific language (DSL) and compiler framework to automatically generate kernel code for semiring operations within the COMpiler for Extreme Targets (COMET) based on the Multi-Level Intermediate Representation (MLIR) framework. We provide a high-level programming abstraction representing various semiring operations with the familiar Einstein notation. We also build a semiring dialect and efficient code generation based on MLIR's extensible framework that can process a variety of semiring operators. By leveraging high-level semantics information and progressive lowering in code generation, we achieved better performance with up to 3.8x speedup compared with operations in the LAGraph library.
Supplemental Material
Available for Download
Supplemental files.
- 2022. The COMET compiler. https://github.com/pnnl/COMETGoogle Scholar
- Timothy A Davis. 2019. Algorithm 1000: SuiteSparse: GraphBLAS: Graph algorithms in the language of sparse linear algebra. ACM Transactions on Mathematical Software (TOMS) 45, 4 (2019), 1--25.Google ScholarDigital Library
- Jeremy Kepner, Peter Aaltonen, David Bader, Aydin Buluç, Franz Franchetti, John Gilbert, Dylan Hutchison, Manoj Kumar, Andrew Lumsdaine, Henning Meyerhenke, et al. 2016. Mathematical foundations of the GraphBLAS. In HPEC. IEEE.Google Scholar
- C. Lattner, M. Amini, U. Bondhugula, A. Cohen, A. Davis, J. Pienaar, R. Riddle, T. Shpeisman, N. Vasilache, and O. Zinenko. 2021. MLIR: Scaling Compiler Infrastructure for Domain Specific Computation. In CGO.Google Scholar
- Tim Mattson, Timothy A Davis, Manoj Kumar, Aydin Buluc, Scott McMillan, José Moreira, and Carl Yang. 2019. LAGraph: A community effort to collect graph algorithms built on top of the GraphBLAS. In IPDPSW.Google Scholar
- Erdal Mutlu, Ruiqin Tian, Bin Ren, Sriram Krishnamoorthy, Roberto Gioiosa, Jacques Pienaar, and Gokcen Kestor. [n. d.]. COMET: A Domain-Specific Compilation of High-Performance Computational Chemistry. In LCPC'20.Google Scholar
- Ruiqin Tian, Luanzheng Guo, Jiajia Li, Bin Ren, and Gokcen Kestor. 2021. A High Performance Sparse Tensor Algebra Compiler in MLIR. In LLVM-HPC.Google Scholar
Index Terms
- Towards Supporting Semiring in MLIR-Based COMET Compiler
Recommendations
Towards a compiler front-end for Ada
SIGPLAN '80: Proceedings of the ACM-SIGPLAN symposium on The ADA programming languageThis paper discusses the current development of a compiler front-end for Ada at the University of Karlsruhe. The front-end is independent of the target-machine and will compile Ada into an intermediate language AIDA, essentially an attributed structure ...
Towards a compiler front-end for Ada
SIGPLAN '80: Proceedings of the ACM-SIGPLAN symposium on Ada programming languageThis paper discusses the current development of a compiler front-end for Ada at the University of Karlsruhe. The front-end is independent of the target-machine and will compile Ada into an intermediate language AIDA, essentially an attributed structure ...
Towards a compiler front-end for Ada
Proceedings of the ACM-SIGPLAN symposium on the Ada programming languageThis paper discusses the current development of a compiler front-end for Ada at the University of Karlsruhe. The front-end is independent of the target-machine and will compile Ada into an intermediate language AIDA, essentially an attributed structure ...
Comments