Matrix 使用CUDA计算数百个小矩阵的特征值/特征向量

Matrix 使用CUDA计算数百个小矩阵的特征值/特征向量,matrix,cuda,opencl,linear-algebra,numerical-methods,Matrix,Cuda,Opencl,Linear Algebra,Numerical Methods,我有一个关于使用CUDA对数百个小矩阵进行特征分解的问题 我需要同时计算数百(例如500)个小(64×64)实对称矩阵的特征值和特征向量。我尝试通过使用国际象棋锦标赛排序的Jacobi方法来实现它(有关更多信息,请参阅) 在该算法中,在每个块中定义32个线程,而每个块处理一个小矩阵,并且32个线程一起工作以膨胀32个非对角元素,直到收敛。不过,我对它的表现不是很满意 我想知道哪里有更好的算法来解决我的问题,即许多64×64实对称矩阵的特征分解。我想户主的方法可能是一个更好的选择,但不确定它是否能

我有一个关于使用CUDA对数百个小矩阵进行特征分解的问题

我需要同时计算数百(例如500)个小(64×64)实对称矩阵的特征值和特征向量。我尝试通过使用国际象棋锦标赛排序的Jacobi方法来实现它(有关更多信息,请参阅)

在该算法中,在每个块中定义32个线程,而每个块处理一个小矩阵,并且32个线程一起工作以膨胀32个非对角元素,直到收敛。不过,我对它的表现不是很满意


我想知道哪里有更好的算法来解决我的问题,即许多64×64实对称矩阵的特征分解。我想户主的方法可能是一个更好的选择,但不确定它是否能在CUDA中有效实施。在线上没有太多有用的信息,因为大多数其他程序员更感兴趣的是使用CUDA/OpenCL来分解一个大矩阵,而不是许多小矩阵

至少对于特征值,可以在Cuda SDK中找到样本

图像似乎已损坏,但下载示例仍然有效。我建议下载完整的SDK并查看exsample。此外,这篇论文也会有所帮助:


您想计算什么?整个分解过程?还是只有特征值?或者只有几个特征值/特征向量?您的性能目标是什么?你有没有花时间分析?结果是什么?@TimChild是正确的-你的“我对它的性能不满意”没有告诉我们太多。逸飞,如果你不提供更多关于你问题的细节,我们将无法给你任何合理的答案。@Yifei huang我们愿意帮助你。如果你能提供更多关于“对性能不满意”的信息,这可能会有所帮助,否则我会投票关闭。。。