相关疑难解决方法(0)

使用CUDA运行时API检查错误的规范方法是什么?

查看有关CUDA问题的答案和评论,以及CUDA标记维基,我发现通常建议每个API调用的返回状态都应该检查错误.API文档包括像功能cudaGetLastError,cudaPeekAtLastError以及cudaGetErrorString,但什么是把这些结合在一起,以可靠地捕捉和无需大量额外的代码报告错误的最好方法?

cuda error-checking

252
推荐指数
4
解决办法
9万
查看次数

CUDA:如何使用-arch和-code以及SM vs COMPUTE

在使用nvcc构建时,我仍然不确定如何正确指定代码生成的体系结构.我知道我的二进制文件中嵌入了机器代码和PTX代码,这可以通过控制器开关-code-arch(或两者的结合使用-gencode)来控制.

现在,根据除了两种编译器标志也有指定架构方法有两种:sm_XXcompute_XX,其中compute_XX指的是虚拟和sm_XX一个真正的架构.该标志-arch仅采用虚拟体系结构的标识符(例如compute_XX),而-code标志采用真实和虚拟体系结构的标识符.

该文档指出了-arch指定为其编译输入文件的虚拟体系结构.但是,此PTX代码不会自动编译为机器代码,但这是一个"预处理步骤".

现在,-code应该指定汇编和优化PTX代码的架构.

但是,不清楚哪个PTX或二进制代码将嵌入二进制文件中.例如-arch=compute_30 -code=sm_52,如果我指定,这是否意味着我的代码将首先被编译为功能级别3.0 PTX,之后将创建功能级别5.2的机器代码?什么将被嵌入?

如果我只是说明-code=sm_52会发生什么呢?只嵌入V5.2的机器代码是用V5.2 PTX代码创建的?那有什么区别-code=compute_52

cuda nvcc fat-binaries ptx

32
推荐指数
1
解决办法
2万
查看次数

CUDA计算能力要求

什么是最低计算能力要求:

  1. CUDA 5.5?
  2. CUDA 6.0?
  3. CUDA 6.5?

cuda

18
推荐指数
1
解决办法
2万
查看次数

标签 统计

cuda ×3

error-checking ×1

fat-binaries ×1

nvcc ×1

ptx ×1