Threaded Multi-Core GEMM with MoA and Cache-Blocking: Preprint
A threaded multi-core implementation of the high performance dense linear algebra matrix-matrix multiply GEMM kernel is described. This kernel is widely implemented by vendors in the basic linear algebra subroutine BLAS library. The mathematics of arrays (MoA) paradigm due to Mullin (1988) results in contiguous memory accesses by employing outer-product forms. Our performance studies demonstrate that the MoA implementation of double precision DGEMM combined with optimal cache-blocking strategies results in at least a 25% performance gain on the Intel Xeon Skylake processor over the vendor supplied Intel MKL basic linear algebra libraries. Results are presented for the NREL Eagle supercomputer. The multi-core DGEMM achieves over 100 GigaFlops/sec with eight openMP threads.
- Research Organization:
- National Renewable Energy Laboratory (NREL), Golden, CO (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC); USDOE National Nuclear Security Administration (NNSA); Exascale Computing Project; USDOE Office of Energy Efficiency and Renewable Energy (EERE)
- DOE Contract Number:
- AC36-08GO28308
- OSTI ID:
- 1848079
- Report Number(s):
- NREL/CP-2C00-80530; MainId:43732; UUID:439f32b8-b062-4914-8cea-5a5aaae4f83f; MainAdminID:63971
- Country of Publication:
- United States
- Language:
- English
Similar Records
Performance Analysis of Memory Transfers and GEMM Subroutines on NVIDIA Tesla GPU Cluster
Portable high performance GEMM-based level 3 BLAS