TY - GEN

T1 - Optimization of numerous small dense-matrix-vector multiplications in h-matrix arithmetic on gpu

AU - Ohshima, Satoshi

AU - Yamazaki, Ichitaro

AU - Ida, Akihiro

AU - Yokota, Rio

PY - 2019/10

Y1 - 2019/10

N2 - Dense-matrix-vector multiplication is one of the well-known important matrix calculations. This calculation is provided a general matrix-vector multiplication (GEMV) function in the basic linear algebra subprograms (BLAS) libraries for several computation hardware. Traditionally, studies focus one large dense-matrix (the length of each side of the dense matrix is long)-vector multiplication. However, some applications require acceleration of numerous small dense-matrix-vector multiplications. This feature is provided by batched BLAS libraries. This calculation is also needed to compute a hierarchical-matrix-vector multiplication. In this study, we implemented numerous small dense-matrix-vector multiplications on a Pascal GPU and evaluated the performance. Thus, we considered the impact of optimization parameters and succeeded in obtaining a better performance than previous works. The maximum differences from our previous work is 28.47% and from batched GEMV of MAGMA BLAS is upto 81.81%. Moreover, we considered the use of two optimization parameters in one GPU kernel; one parameter was applied to some matrices, whereas the second parameter was applied to other matrices. The amount of the improvement was limited (upto 5%), a performance improvement was achieved. Our result will serve as a good reference for users who need to use numerous small dense-matrix-vector multiplications on a GPU and want to optimize a matrix-vector multiplication by hand-Tuning and auto-Tuning.

AB - Dense-matrix-vector multiplication is one of the well-known important matrix calculations. This calculation is provided a general matrix-vector multiplication (GEMV) function in the basic linear algebra subprograms (BLAS) libraries for several computation hardware. Traditionally, studies focus one large dense-matrix (the length of each side of the dense matrix is long)-vector multiplication. However, some applications require acceleration of numerous small dense-matrix-vector multiplications. This feature is provided by batched BLAS libraries. This calculation is also needed to compute a hierarchical-matrix-vector multiplication. In this study, we implemented numerous small dense-matrix-vector multiplications on a Pascal GPU and evaluated the performance. Thus, we considered the impact of optimization parameters and succeeded in obtaining a better performance than previous works. The maximum differences from our previous work is 28.47% and from batched GEMV of MAGMA BLAS is upto 81.81%. Moreover, we considered the use of two optimization parameters in one GPU kernel; one parameter was applied to some matrices, whereas the second parameter was applied to other matrices. The amount of the improvement was limited (upto 5%), a performance improvement was achieved. Our result will serve as a good reference for users who need to use numerous small dense-matrix-vector multiplications on a GPU and want to optimize a matrix-vector multiplication by hand-Tuning and auto-Tuning.

UR - http://www.scopus.com/inward/record.url?scp=85076162251&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85076162251&partnerID=8YFLogxK

U2 - 10.1109/MCSoC.2019.00009

DO - 10.1109/MCSoC.2019.00009

M3 - Conference contribution

T3 - Proceedings - 2019 IEEE 13th International Symposium on Embedded Multicore/Many-Core Systems-on-Chip, MCSoC 2019

SP - 9

EP - 16

BT - Proceedings - 2019 IEEE 13th International Symposium on Embedded Multicore/Many-Core Systems-on-Chip, MCSoC 2019

PB - Institute of Electrical and Electronics Engineers Inc.

T2 - 13th IEEE International Symposium on Embedded Multicore/Many-Core Systems-on-Chip, MCSoC 2019

Y2 - 1 October 2019 through 4 October 2019

ER -