我想在我的GPU上设置一个大矩阵,用CULA解决相应的方程式系统。
为了解问题,请为您提供一些数字:
big matrix: 400x400
small matrices: 200x200
现在我想将小矩阵的每个季度(100x100)
复制到第二个矩阵的特定部分。
我找到了两个可能但很明显很慢的例子:cublasSetMatrix
和cublasGetMatrix
支持领先维度的规范,所以我可以将部分放在我想要的位置,但必须将矩阵复制回来给主人。
另一个例子是cudaMemcpy
,它不支持领先维度。在这里,我可以手动复制每一行/列(目前我不确定此例程使用的是什么,数据来自Fortran)。但是这样,我应该得到很大的开销......
有没有比编写我自己的内核更好的方法来复制矩阵?