c++ - 我在使用 cuSolver 的设备上找不到 LU 分解

标签 c++ c cuda determinants cusolver

我需要用 cuda 计算矩阵( double 组)的行列式,我想使用 LU 分解来执行此操作。 我在 cusolverSp.h 中找不到设备函数,但只有主机函数 cusolverSpDcsrlsvluHost。 我查看 cuda 7.0 和 cuda 7.5。

我不明白为什么我找不到它,因为它在官方文档中有描述:http://docs.nvidia.com/cuda/cusolver/index.html#api

设备上的 Cholesky 分解等其他功能有效。

是否实现? 如果是,我在哪里可以找到它?

感谢您的帮助!

最佳答案

查看您指出的文档,我看到:

Remark 5: only CPU (Host) path is provided

阅读页面上的一些内容可以得出以下结论:

Next, cuSolverSP provides a new set of sparse routines based on a sparse QR factorization. Not all matrices have a good sparsity pattern for parallelism in factorization, so the cuSolverSP library also provides a CPU path to handle those sequential-like matrices. For those matrices with abundant parallelism, the GPU path will deliver higher performance. The library is designed to be called from C and C++.

结合这两句话,我猜设备功能不值得提供......不过这只是我的解释。

关于c++ - 我在使用 cuSolver 的设备上找不到 LU 分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32242677/

相关文章:

cuda - 使用 cc 更改 Rust 传递给 nvcc 的编译参数

C++ opengl bmp 和 alpha channel

c++ - Visual C++ (2008) 调试快照

c++ - -fPIC 仅适用于共享库吗?

c - OpenSSL 中 EVP_PKEY_RSA 和 EVP_PKEY_RSA2 之间的区别?

cuda - 是否可以从全局或设备函数调用 CUDA CUBLAS 函数

cuda - CUDA编译中如何分配寄存器

c++ - ANN OPENCV 错误断言失败

c++ - 尝试运行安装 Socket.IO C++ 客户端的步骤 3 时收到有关 OpenSSL 的错误

c - 如何使用c获得大文件大小