A portable and high-performance matrix operations library for CPUs, GPUs and beyond
McGill University, School of Computer Science, Sable Research Group
Sable Technical Report No. sable-2013-1, 2013
@article{garg2013portable,
title={A portable and high-performance matrix operations library for CPUs, GPUs and beyond},
author={Garg, Rahul and Hendren, Laurie},
year={2013}
}
High-performance computing systems today include a variety of compute devices such as multi-core CPUs, GPUs and many-core accelerators. OpenCL allows programming different types of compute devices using a single API and kernel language. However, there is no standard matrix operations library in OpenCL for operations such as matrix multiplication that works well on a variety of hardware from multiple vendors. We implemented an OpenCL auto-tuning library for real and complex variants of general matrix multiply (GEMM) and present detailed performance results and analysis on a variety of GPU and CPU architectures. The library provides good performance on all the architectures tested, and is competitive with vendor libraries on some architectures (such as AMD Radeons) We also present brief analysis for related kernels such as matrix transpose and matrix-vector multiply.
May 11, 2013 by hgpu