0

使用CUDA C计算以下表达式的最有效方法可能是什么?

(A - B(D^-1)B^T)^-1

其中D是一个非常大的对称矩阵,A是一个小的对称矩阵,这使得BB^T是中等大小的矩形非对称矩阵。当然 (^-1) 和 (^T) 分别是逆运算和转置运算。

4

1 回答 1

1

如果您可以进行“低级”编程,则可以通过CULAMAGMA库执行矩阵求逆。

CULA Dense 包含系统求解、线性最小二乘求解和约束线性最小二乘求解的单精度(实数或复数)精度。CULA Sparse 是稀疏矩阵的迭代求解器的集合。Magma 包含dgetrfdgetri计算平方双精度矩阵的逆矩阵。

对于矩阵乘法,包括转置,您可以使用cuBLAS例程。

如果您更喜欢“更高”级别的编程,那么ArrayFire使您能够使用更自然的数学语法执行矩阵乘法、求逆、转置、线性系统的求解和元素运算。此外,Matlab 还为支持 NVIDIA CUDA 的 GPU 提供 GPU 计算支持

于 2013-08-18T21:19:41.633 回答