Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ BLAS 2级频带矩阵向量积多个向量_C++_C_Vector_Blas_Intel Mkl - Fatal编程技术网

C++ BLAS 2级频带矩阵向量积多个向量

C++ BLAS 2级频带矩阵向量积多个向量,c++,c,vector,blas,intel-mkl,C++,C,Vector,Blas,Intel Mkl,BLAS 2级有一个带状矩阵向量积例程,适用于一般情况和对称情况(链接用于MKL实现) 在这种情况下,有没有办法使用多个向量(不使用外部for循环)来最大限度地提高性能?AFAIK答案是否定的 level3 BLAS子例程的完整列表可在此处找到 没有带状矩阵子程序 强>额外信息:如果你使用BLAS/LAPACK和C++,最近有一个设计C++接口的倡议: (cblas和lapacke更倾向于C用法)我认为对于对称情况,应该有这样一个例程。不过,恐怕我帮不了什么忙了,因为我从未用过它 Sp

BLAS 2级有一个带状矩阵向量积例程,适用于一般情况和对称情况(链接用于MKL实现)


在这种情况下,有没有办法使用多个向量(不使用外部for循环)来最大限度地提高性能?

AFAIK答案是否定的

level3 BLAS子例程的完整列表可在此处找到

没有带状矩阵子程序


<>强>额外信息:如果你使用BLAS/LAPACK和C++,最近有一个设计C++接口的倡议:

(cblas和lapacke更倾向于C用法)

我认为对于对称情况,应该有这样一个例程。不过,恐怕我帮不了什么忙了,因为我从未用过它


Spike(用于系统求解)的算法和实现如所述。

当你有一个密集的全矩阵(多个向量)时,就没有办法利用一个矩阵的带状结构来提高速度。@percusse我认为你的说法不成立。也许你误解了我的问题。我想要多个右侧向量,即y=A*x,其中A是稀疏带状的,x是N×d。你可以利用x中的每个向量,因为它们的结果是独立的(y的每一列)。是的,这就是为什么BLAS3没有它们,因为它只是在y的每一列上循环,因此BLAS2函数。BLAS3使用的是块而不是RHS列。我将你的答案标记为正确,而不是Picaud Vincent的,只是因为你提供了一个有效的替代方案。然而,我相信这应该在BLAS实现中可用。