![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 54
王大锤的记事本
这个作者很懒,什么都没留下…
展开
-
cudaGetErrorName和cudaGetErrorString的区别
我们知道,在CUDA编程中,经常需要检查运行时函数返回的错误,如下代码cudaError = cudaGetDeviceProperties(&deviceProp, 100);if (cudaError != cudaSuccess) { auto s = cudaGetErrorName(cudaError); cout << s << endl; return 1;}而返回的值是枚举类型的值,其定义是enum __device_built原创 2022-01-22 18:08:03 · 811 阅读 · 0 评论 -
编写CUDA程序注意事项
1. 熟悉头文件2.选择设备只有一个GPU时,cudaSetDevice(0),检查是否成功。3. 检查运行时函数返回值检查每个函数的返回值,是否成功,类型包括cudaError_t(成功值为枚举值cudaSuccess)等。4. kernel运行后查错错误转换:API返回的是枚举的量,可以通过cudaGetErrorName获得字符串的错误信息,该API处于头文件中。#include <cuda_device_runtim...原创 2022-01-22 17:55:14 · 2341 阅读 · 0 评论 -
CUDA中cuSolver的稀疏矩阵格式CSR格式和普通dense矩阵的格式互转。
CSR格式表示的矩阵,如图: 稀疏矩阵被3个向量来表示:1. csrRowPtr: 可以理解为每一行前累计的非零元素的个数(最后一个元素就是非零元素的总个数)。2.csrColInd: 每一个非零元素所在的列index。3.csrVal: 每一个非零的元素本身的值。 下面实现了列主元格式和CSR格式的互转。用列主元表示上图中的矩阵...原创 2019-01-18 22:01:23 · 2175 阅读 · 0 评论