为什么CuBlas不对三角形矩阵使用一维数组?

时间:2018-07-05 08:44:52

标签: cuda cublas

这可能是对旧的BLAS库设计的回溯,但是我刚刚感到惊讶的是,发现CuBlas通过对三角形矩阵使用常规2d数组来浪费内存。我想这将使与API其余部分的接口更加方便。

1 个答案:

答案 0 :(得分:1)

  

我很惊讶地发现CuBlas通过使用来浪费内存   三角形矩阵的规则二维数组

严格地说,这不是真的。

如果您查看2级BLAS例程,您会发现它们在以打包格式存储的三角或Hermitian矩阵上运行。

3级BLAS例程没有,但是有两个很好的理由将它们以完全密集的格式存储。

  • BLAS就是这样

  • 这些例程大部分已添加到BLAS中,以支持LAPACK求解器。而且这些求解器通常在提供的全密集输入中原位存储因式分解的结果,因此在BLAS中使用该格式是合乎逻辑的

我想,如果您不喜欢这种设计选择,可以随时尝试写信给Jack Dongarra投诉。