我想在我的 GPU 上设置一个大矩阵来用 CULA 求解相应的方程组。
给你一些数字,以了解问题:
big matrix: 400x400
small matrices: 200x200
现在我想将(100x100)
小矩阵的每个四分之一复制到第二个矩阵的特定部分。
我发现了两个可能但显然很慢的例子:cublasSetMatrix
并cublasGetMatrix
支持前导维度的规范,因此我可以将零件放在我想要的位置,但必须将矩阵复制回主机。另一个示例是cudaMemcpy
,它不支持前导维度。在这里,我可以手动复制每一行/列(目前我不确定这个例程使用什么,数据来自 Fortran)。但这样一来,我应该得到很大的开销......
有没有比编写自己的内核更好的方法来复制矩阵?