Yif*_*ang 12 cuda matrix linear-algebra opencl numerical-methods
我有一个关于使用CUDA对数百个小矩阵进行特征分解的问题.
我需要同时计算数百(例如500)小(64乘64)实对称矩阵的特征值和特征向量.我试图通过Jacobi方法使用国际象棋锦标赛订购来实现它(有关更多信息,请参阅本文(PDF)).
在该算法中,在每个块中定义了32个线程,而每个块处理一个小矩阵,并且32个线程一起工作以使32个非对角线元素膨胀直到收敛.但是,我对它的表现并不十分满意.
我想知道我的问题哪里有更好的算法,即许多64乘64实对称矩阵的特征分解.我想家庭主人的方法可能是更好的选择,但不确定它是否可以在CUDA中有效实施.网上没有很多有用的信息,因为大多数其他程序员更感兴趣的是使用CUDA/OpenCL来分解一个大矩阵而不是很多小矩阵.
至少对于特征值,可以在 Cuda SDK 中找到示例
http://www.nvidia.de/content/cudazone/cuda_sdk/Linear_Algebra.html
图像似乎已损坏,但示例下载仍然有效。我建议下载完整的 SDK 并查看该示例。另外,这篇论文可能会有所帮助:
http://docs.nvidia.com/cuda/samples/6_Advanced/eigenvalues/doc/eigenvalues.pdf