Seamless optimization of the GEMM kernel for task-based programming models

View/Open
Document typeConference report
Defense date2022
PublisherAssociation for Computing Machinery (ACM)
Rights accessOpen Access
All rights reserved. This work is protected by the corresponding intellectual and industrial
property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public
communication or transformation of this work are prohibited without permission of the copyright holder
Abstract
The general matrix-matrix multiplication (GEMM) kernel is a fundamental building block of many scientific applications. Many libraries such as Intel MKL and BLIS provide highly optimized sequential and parallel versions of this kernel. The parallel implementations of the GEMM kernel rely on the well-known fork-join execution model to exploit multi-core systems efficiently. However, these implementations are not well suited for task-based applications as they break the data-flow execution model. In this paper, we present a task-based implementation of the GEMM kernel that can be seamlessly leveraged by task-based applications while providing better performance than the fork-join version. Our implementation leverages several advanced features of the OmpSs-2 programming model and a new heuristic to select the best parallelization strategy and blocking parameters based on the matrix and hardware characteristics. When evaluating the performance and energy consumption on two modern multi-core systems, we show that our implementations provide significant performance improvements over an optimized OpenMP fork-join implementation, and can beat vendor implementations of the GEMM (e.g., Intel MKL and AMD AOCL). We also demonstrate that a real application can leverage our optimized task-based implementation to enhance performance.
CitationLorenzon, A. [et al.]. Seamless optimization of the GEMM kernel for task-based programming models. A: International Conference on Supercomputing. "Proceedings of the 36th ACM International Conference on Supercomputing (ICS-2022): virtual event, June 27–30, 2022". New York: Association for Computing Machinery (ACM), 2022, ISBN 978-1-4503-9281-5. DOI 10.1145/3524059.3532385.
ISBN978-1-4503-9281-5
Publisher versionhttps://dl.acm.org/doi/10.1145/3524059.3532385
Files | Description | Size | Format | View |
---|---|---|---|---|
ICS_BLIS_2022 (1).pdf | 3,610Mb | View/Open |