CUDA上的小矩阵求逆

时间:2015-03-05 22:06:50

标签: matrix cuda parallel-processing inversion

我需要你的一些建议,我希望不会花费你很多时间。

所以这是我的问题: 我有一个小方形密集矩阵,可能的大小为4x4,8x8,16x16, 我想用CUDA反转它。

问题的特殊部分是我有1024个空闲cuda线程来执行此任务。 所以我怀疑像Gauss Jordan这样最普遍的反向方法在这里不能正常工作,因为它们稍微平行,并且只使用大量的1024个线程中的大约4-16个线程。

但是我怎么能用所有可用的线程反转这个矩阵呢?

感谢您的关注!

1 个答案:

答案 0 :(得分:1)

此类问题至少有两种可用的现成选项:

  1. 使用最近版本的CUBLAS库中提供的批量解算器
  2. 使用NVIDIA许可的Gauss-Jordan消除设备代码功能,NVIDIA分发给注册开发人员。这些旨在使用每个矩阵一个线程来反转小矩阵
  3. [这个答案是根据评论汇总而成,并作为社区维基条目添加,以便将问题从未答复的队列中删除]