我正在做一些计算,并对不同 BLAS 实现的优势和弱点进行一些分析。但是我遇到了一个问题。
我正在测试 cuBlas,在 GPU 上执行 linAlg 似乎是一个好主意,但有一个问题。
cuBlas 实现使用列主格式,并且由于这不是我最终需要的,我很好奇是否有一种方法可以使 BLAS 进行矩阵转置?
BLAS 没有内置的矩阵转置例程。CUDA SDK 包含一个矩阵转置示例以及一篇讨论执行转置的最佳策略的论文。您的最佳策略可能是使用 CUBLAS 的行主要输入以及调用的转置输入版本,然后在列主要中执行中间计算,最后使用 SDK 转置内核执行转置操作。
编辑添加 CUBLAS 在 CUBLAS 版本 5 中添加了转置例程,geam
,它可以在 GPU 内存中执行矩阵转置,并且应该被视为最适合您使用的任何架构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)