在MKL中使用三阵列BSR格式用于矩形矩阵矢量乘积

时间:2015-03-24 20:20:51

标签: linear-algebra intel-mkl

MKL是用于CPU上的快速线性代数的intel数学内核库。 BSR是稀疏矩阵的块稀疏行格式。我需要使用稀疏矩形矩阵的3阵列BSR表示来计算块稀疏矩阵的矩阵向量积。 3阵列版本存在的函数只采用平方矩阵。可以采用矩形矩阵的函数需要BSR格式的4阵列版本。 mkl_?bsrgemv是使用3阵列版本和mkl_的版本?bsrmv是可以使用矩形矩阵但需要4阵列版本的函数。是否有人知道是否可以在矩形矩阵上完成操作而不需要在输入或输出向量上进行填充?我检查了文档中的任何线索,但我可能错过了一些东西。

1 个答案:

答案 0 :(得分:0)

这已经晚了一年,但是对于那些正在寻找如何使用3阵列版本的4阵列版本的人来说,这很简单。假设rowIndex具有3个数组的行索引,长度为nrows + 1。如果您只是调用

,则三个数组表示与4数组版本兼容

rowIndex,rowIndex(2)

在使用pntr_b和pntr_e数组的情况下,长度为nrows的rowIndex取代pntr_b,而长度为nrows的rowIndex(2)取代了4索引格式的pntr_e。无需复制。

有关详细信息,请参阅dcsr.f示例。