在转置时澄清CUBLAS中的主要维度

mch*_*hen 19 c cuda gpgpu matrix cublas

对于矩阵A,文档仅声明相应的前导维度参数lda引用:

用于存储矩阵A的二维阵列的前导维度

因此,我认为这只是A给定CUBLAS列主要存储格式的行数.但是,当我们考虑时Op(A),领导维度现在指的是什么?

tal*_*ies 16

没有什么变化.前导维度始终指的是数组第一维的长度.数据顺序标志(正常,转置,共轭)仅向BLAS指示如何存储阵列中的数据.它们对数组本身没有影响,数组本身总是列主要有序,并且需要LDA值才能在2D中进行索引.

因此,无论矩阵数据是否以转置形式存储,mxn数组总是具有LDA> = m.

  • 从你的答案,我准备得出结论,LDA = m.为什么在那里签名?:/ +1顺便说一句.也许这毕竟回答了这个问题:http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t = 217 (3认同)
  • @gsamaras:考虑一下BLAS调用何时在子矩阵上运行,或者当矩阵的* pitch *与内存控制器页面大小或高速缓存行大小匹配时,硬件何时工作得更好。看到http://stackoverflow.com/q/8206563/681865 (2认同)

小智 7

如果您使用行优先表示,那么“列”的数量将是主导维度,反之亦然。