Hybrid-Grained Dynamic Load Balanced GEMM on NUMA Architectures
The Basic Linear Algebra Subprograms (BLAS) is a fundamental numerical software and GEneral Matrix Multiply (GEMM) is the most important computational kernel routine in the BLAS library. On multi-core and many-core processors, the whole workload of GEMM is partitioned and scheduled to multiple threa...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2018-11-01
|
Series: | Electronics |
Subjects: | |
Online Access: | https://www.mdpi.com/2079-9292/7/12/359 |
id |
doaj-df705d4017b348f58309dfc08a8acbee |
---|---|
record_format |
Article |
spelling |
doaj-df705d4017b348f58309dfc08a8acbee2020-11-25T02:28:18ZengMDPI AGElectronics2079-92922018-11-0171235910.3390/electronics7120359electronics7120359Hybrid-Grained Dynamic Load Balanced GEMM on NUMA ArchitecturesXing Su0Fei Lei1National Laboratory for Parallel and Distributed Processing, National University of Defense Technology, Changsha 410073, ChinaNational Laboratory for Parallel and Distributed Processing, National University of Defense Technology, Changsha 410073, ChinaThe Basic Linear Algebra Subprograms (BLAS) is a fundamental numerical software and GEneral Matrix Multiply (GEMM) is the most important computational kernel routine in the BLAS library. On multi-core and many-core processors, the whole workload of GEMM is partitioned and scheduled to multiple threads to exploit the parallel hardware. Generally, the workload is equally partitioned among threads and all threads are expected to accomplish their work in roughly the same time. However, this is not the case on Non-Uniform Memory Access (NUMA) architectures. The NUMA effect may cause threads to run at different speeds, and the overall executing times of GEMM is determined by the slowest thread. In this paper, we propose a hybrid-grained dynamic load-balancing method to reduce the harm of the NUMA effect by allowing fast threads to steal work from slow ones. We evaluate the proposed method on Phytium 2000+, an emerging 64-core high-performance processor based on Arm’s AArch64 architecture. Results show that our method reduces the synchronization overhead by 51.5% and achieves an improvement of GEMM performance by 1.9%.https://www.mdpi.com/2079-9292/7/12/359GEMMBLAShigh-performance computinglinear algebra |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Xing Su Fei Lei |
spellingShingle |
Xing Su Fei Lei Hybrid-Grained Dynamic Load Balanced GEMM on NUMA Architectures Electronics GEMM BLAS high-performance computing linear algebra |
author_facet |
Xing Su Fei Lei |
author_sort |
Xing Su |
title |
Hybrid-Grained Dynamic Load Balanced GEMM on NUMA Architectures |
title_short |
Hybrid-Grained Dynamic Load Balanced GEMM on NUMA Architectures |
title_full |
Hybrid-Grained Dynamic Load Balanced GEMM on NUMA Architectures |
title_fullStr |
Hybrid-Grained Dynamic Load Balanced GEMM on NUMA Architectures |
title_full_unstemmed |
Hybrid-Grained Dynamic Load Balanced GEMM on NUMA Architectures |
title_sort |
hybrid-grained dynamic load balanced gemm on numa architectures |
publisher |
MDPI AG |
series |
Electronics |
issn |
2079-9292 |
publishDate |
2018-11-01 |
description |
The Basic Linear Algebra Subprograms (BLAS) is a fundamental numerical software and GEneral Matrix Multiply (GEMM) is the most important computational kernel routine in the BLAS library. On multi-core and many-core processors, the whole workload of GEMM is partitioned and scheduled to multiple threads to exploit the parallel hardware. Generally, the workload is equally partitioned among threads and all threads are expected to accomplish their work in roughly the same time. However, this is not the case on Non-Uniform Memory Access (NUMA) architectures. The NUMA effect may cause threads to run at different speeds, and the overall executing times of GEMM is determined by the slowest thread. In this paper, we propose a hybrid-grained dynamic load-balancing method to reduce the harm of the NUMA effect by allowing fast threads to steal work from slow ones. We evaluate the proposed method on Phytium 2000+, an emerging 64-core high-performance processor based on Arm’s AArch64 architecture. Results show that our method reduces the synchronization overhead by 51.5% and achieves an improvement of GEMM performance by 1.9%. |
topic |
GEMM BLAS high-performance computing linear algebra |
url |
https://www.mdpi.com/2079-9292/7/12/359 |
work_keys_str_mv |
AT xingsu hybridgraineddynamicloadbalancedgemmonnumaarchitectures AT feilei hybridgraineddynamicloadbalancedgemmonnumaarchitectures |
_version_ |
1724839083707990016 |