【问题标题】:How to compute k largest eigen values on GPU?如何在 GPU 上计算 k 个最大特征值?
【发布时间】:2012-04-03 21:35:14
【问题描述】:

我正在研究谱聚类的并行算法,我需要计算 K 个最大特征值。我正在使用 Matlab 的 Jacket 插件,但遗憾的是它不支持 matlab 中的 EIGS 函数(它无法计算K eigen values in parallel) 谁能推荐一些其他工具/库来在 GPU 上执行此任务?或者我仍然可以在 GPU 辅助的 Matlab 中执行此操作吗?

【问题讨论】:

  • 从数值上讲,您可以为特征值问题编写 QR 算法的 GPU 实现。或者寻找此处介绍的任何方法的 GPU 兼容版本:cseweb.ucsd.edu/classes/fa04/cse252c/sakumar.pdf。我不知道有任何现成的 gpu 库可以解决特征值问题
  • EIGS 用于稀疏矩阵。您需要稀疏矩阵还是可以将 EIG(Jacket 支持)用于密集矩阵?
  • 有CULA可以解决特征值问题,但仅限于dense版本。
  • @leftaroundabout 你是对的。请注意,Jacket 包含针对这些问题的 CULA,因此当您使用 Jacket 时,您也可以获得 CULA 支持的功能。
  • 我尝试在 Matlab 中使用 EIG 函数,但它显示为空输入。我的矩阵相对稀疏,所以我猜 EIG 不起作用

标签: cuda eigenvector eigenvalue jacket


【解决方案1】:

无法回复上面评论列表中的 chemeng,但我知道一篇关于基于 GPU 的 QR 分解的相当不错的论文:http://users.ece.gatech.edu/~mrichard/Kerr_Campbell_Richards_QRD_on_GPUs.pdf

另外,svd() 命令是否适用于夹克?奇异值只是特征值的平方。

【讨论】:

    猜你喜欢
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 2021-10-07
    • 2023-04-11
    • 2012-12-17
    • 2019-08-18
    相关资源
    最近更新 更多