Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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
Matrix 计算C=A x B x A的最快方法_Matrix_Matrix Multiplication_Intel Mkl - Fatal编程技术网

Matrix 计算C=A x B x A的最快方法

Matrix 计算C=A x B x A的最快方法,matrix,matrix-multiplication,intel-mkl,Matrix,Matrix Multiplication,Intel Mkl,使用“英特尔MKL”计算C=A x B x A的最快方法是什么 A、 B,C都是(nxn)矩阵 目前我正在使用两次cblas_ggemm,请参阅 请参阅以下伪代码: C = dgemm(dgemm(A, B), A) for i = 1:m C[i] = dgemm(dgemm(A, B[i]), A) end 有没有更快的计算方法 编辑 我有多个矩阵B[I],我想用同一个矩阵A计算多个矩阵C[I],请参见以下伪代码: C = dgemm(dgemm(A, B), A) for i

使用“英特尔MKL”计算C=A x B x A的最快方法是什么

A、 B,C都是(nxn)矩阵

目前我正在使用两次
cblas_ggemm
,请参阅

请参阅以下伪代码:

C = dgemm(dgemm(A, B), A)
for i = 1:m
    C[i] = dgemm(dgemm(A, B[i]), A)
end
有没有更快的计算方法

编辑

我有多个矩阵
B[I]
,我想用同一个矩阵
A
计算多个矩阵
C[I]
,请参见以下伪代码:

C = dgemm(dgemm(A, B), A)
for i = 1:m
    C[i] = dgemm(dgemm(A, B[i]), A)
end

如果我能加快计算速度,那就太好了:-)

这些矩阵有什么特殊性质吗?对称、正交等?它们中的任何一个是否重复使用超过一次迭代?唯一特别的是函数中有两次
a
。在
B
的左侧和右侧。是的,会有不同的
B[i]
A
保持不变。我将编辑这个问题。
A
,或者每个
B[I]
的结构有什么特殊之处吗?我在对角线
B[I]
和计算
C=transpose(a)*B[I]*a
的情况下也处于类似的情况。另外,
n
通常是什么,你看过类型算法吗?在我的例子中,n在10到1000之间。m可能在1到10000之间。我希望
Strassen
是在英特尔MKL cblas_dgemm中实现的。这些矩阵有什么特殊属性吗?对称、正交等?它们中的任何一个是否重复使用超过一次迭代?唯一特别的是函数中有两次
a
。在
B
的左侧和右侧。是的,会有不同的
B[i]
A
保持不变。我将编辑这个问题。
A
,或者每个
B[I]
的结构有什么特殊之处吗?我在对角线
B[I]
和计算
C=transpose(a)*B[I]*a
的情况下也处于类似的情况。另外,
n
通常是什么,你看过类型算法吗?在我的例子中,n在10到1000之间。m可能在1到10000之间。我希望
Strassen
能在英特尔MKL cblasèdgemm中实现。