计算机科学
加速
并行计算
库达
乘法(音乐)
矩阵乘法
背景(考古学)
超级计算机
架空(工程)
线性代数
图形处理单元的通用计算
绘图
程序设计语言
操作系统
数学
量子力学
量子
生物
组合数学
物理
古生物学
几何学
作者
Ahmad Abdelfattah,David E. Keyes,Hatem Ltaief
出处
期刊:Cornell University - arXiv
日期:2014-01-01
被引量:3
标识
DOI:10.48550/arxiv.1410.1726
摘要
KBLAS is a new open source high performance library that provides optimized kernels for a subset of Level 2 BLAS functionalities on CUDA-enabled GPUs. Since performance of dense matrix-vector multiplication is hindered by the overhead of memory accesses, a double-buffering optimization technique is employed to overlap data motion with computation. After identifying a proper set of tuning parameters, KBLAS is able to efficiently run on various GPU architectures across different generations, avoiding the time-consuming step of code rewriting, while still being compliant with the standard BLAS API. Another advanced optimization technique allows to ensure coalesced memory access when dealing with submatrices, especially in the context of high level dense linear algebra algorithms. All four precisions KBLAS kernels have been leveraged to multi-GPUs environment, which requires the introduction of new APIs to ease users' experiences on these challenging systems. The KBLAS performance outperforms existing state-of-the-art implementations on all matrix sizes, achieves asymptotically up to 50% and 60% speedup on single GPU and multi-GPUs systems, respectively, and validates our performance model. A subset of KBLAS high performance kernels has been integrated into NVIDIA's standard BLAS implementation (cuBLAS) for larger dissemination, starting version 6.0.
科研通智能强力驱动
Strongly Powered by AbleSci AI