【发布时间】:2019-09-16 20:06:12
【问题描述】:
据我所知,BLAS 3 级矩阵/矩阵例程采用参数lda、ldb 等,允许通过“跨步”矩阵。例如,如果我有以下 2 x 2 列主矩阵:
|1 2|
|3 4|
|x x|
其中 x 是我想要忽略的数据,我可以使用参数 m = 2, n = 2, lda=3 来表示它(对于列主矩阵)。
我的问题是,可以使用 BLAS 例程复制这样的矩阵吗?
如果步幅等于矩阵维数(即矩阵没有步幅),则使用 vector copy 过程很简单,例如dcopy(m*n,A,1,B,1) 这样做。 当矩阵元素不连续时有没有办法做到这一点,即 lda/stride != m
我能想到的一种方法是重复调用dcopy 并增加偏移量,同时保持incrx 参数等于m。似乎效率不高。或者dgemm B = I 和 C = 0。
【问题讨论】: