GPU计算中QRP分解与SYMV内核的高性能实现
在现代计算领域,GPU凭借其强大的并行计算能力,在诸多科学计算和工程应用中发挥着至关重要的作用。本文将深入探讨GPU上QRP分解的并行算法以及高性能SYMV内核的实现,分析它们的性能优势和适用场景。
1. GPU上的并行QRP分解
为了在通用GPU处理器上实现良好的性能,计算任务必须被划分为独立的并行子任务,且每个子任务要适合一定数量的处理器(通常是32的倍数)进行高效并行处理。算法2的并行分布可以很容易地适应GPU并行模型,将每一列分配给一个线程块。如果矩阵足够大,就有足够的工作让一个块中的所有处理器保持忙碌,也有足够的块让整个GPU保持忙碌。与多核版本的主要区别在于,由于当前GPU处理器的内存访问是统一的,因此不需要进行内存分布。
在两个NVIDIA Fermi平台上,对算法2和MAGMA的xGEQP3例程的GPU性能进行了比较。在单精度下,算法2的GPU实现分别在Tesla C2050和GeForce GTX480上获得了约60 GFlops和90 GFlops的性能,大约是使用相同硬件的MAGMA实现速度的两倍。这是因为该实现完全在GPU上运行,无需从CPU进行内存传输。而MAGMA中xGEQP3的面板分解在CPU上执行,尾随矩阵更新在GPU上执行。这种方法对于带部分主元的LU分解和不带主元的QR分解效果很好,因为面板分解可以在GPU仍在使用前一个块更新尾随矩阵时并行计算。然而,对于带主元的QR分解,计算和通信的重叠是不可能的,因为主元选择标准要求在开始面板分解之前必须完成尾随矩阵的更新。
性能结果证实,QRP分解受内存速度的限制。因此,由于原始内存带宽的原因,GPU平台比传统CPU更适合计算QRP。一
超级会员免费看
订阅专栏 解锁全文
42

被折叠的 条评论
为什么被折叠?



