58得票3回答
如何编译CUDA代码并将其链接到C++项目?

我正在寻求帮助,开始使用涉及CUDA的项目。我的目标是有一个可以在本地g++编译器中编译,但使用CUDA代码的项目。我理解我必须在nvcc编译器中编译我的CUDA代码,但据我所知,我可以将CUDA代码编译成cubin文件或ptx文件。 这里是我的问题: 如何使用nvcc来编译为cubin...

51得票1回答
CUDA:如何使用-arch和-code,SM与计算的区别

我仍然不确定在使用nvcc编译时如何正确指定代码生成的架构。我知道我的二进制文件中嵌入了机器代码和PTX代码,并且可以通过控制器开关-code和-arch(或两者的组合,使用-gencode)来控制它。 现在,根据this,除了这两个编译器标志外,还有两种指定架构的方法:sm_XX和comp...

43得票2回答
Nvidia的NVCC编译器中使用多个“arch”标志的目的是什么?

我最近理解了NVCC如何为不同的计算架构编译CUDA设备代码。 据我所知,使用NVCC的-gencode选项时,“arch”是程序员应用程序所需的最低计算架构,也是NVCC的JIT编译器将PTX代码编译为的最低设备计算架构。 我还了解到,“-gencode”的“code”参数是NVCC完全...

36得票6回答
安装cudatoolkit时提示nvcc丢失?

我已经安装了CUDA和PyTorch。 Translated text: 我已经安装了CUDA和PyTorch。conda install pytorch torchvision cudatoolkit=10.0 -c pytorch 然而,看起来nvcc并没有随着它一起安装。例如,如果我想...

29得票4回答
使用CUDA展示GPU优于CPU的最简单例子

我正在寻找可以在CPU(使用g++)和GPU(使用nvcc)上编写的最简洁的代码,其中GPU始终优于CPU。 任何类型的算法都可接受。 澄清一下:我真正需要的是两个简短的代码块,一个用于CPU(使用g++中的C ++),另一个用于GPU(使用nvcc中的C ++),其中GPU的性能优于CPU...

27得票3回答
如何避免C++猜测第二个模板参数?

我正在使用一个C++库(strf),这个库的某个位置有以下代码:namespace strf { template <typename ForwardIt> inline auto range(ForwardIt begin, ForwardIt end) { /* ... */ ...

25得票2回答
如何让nvcc CUDA编译器进行更多优化?

当使用C或C++编译器时,如果传递-O3开关,执行速度会更快。在CUDA中,是否有相应的内容? 我正在使用命令nvcc filename.cu编译我的代码。之后我执行./a.out。

22得票4回答
链接错误:命令行缺少DSO

我对Linux还比较陌生(使用的是Ubuntu 14.04 LTS 64位),之前一直在用Windows系统。现在我正在尝试将我的一个现有CUDA项目移植到Linux上。 当进行链接时,使用以下命令:/usr/local/cuda/bin/nvcc -arch=compute_30 -code...

21得票5回答
错误:cuda_runtime.h:没有这个文件或目录。

我该如何强制gcc在/usr/cuda/local/include中查找cuda_runtime.h? 我正在尝试使用C包装器编译CUDA应用程序。我正在运行Ubuntu 10.04。 我已经成功地使用以下命令将CUDA应用程序编译为.so:nvcc -arch=sm_11 -o libt...

21得票7回答
如何禁用特定的 nvcc 编译器警告

我希望能够使用nvcc禁用特定的编译器警告,具体来说是禁用以下警告:warning: NULL reference is not allowed我正在处理的代码中使用了NULL引用作为SFINAE的一部分,因此无法避免使用它们。理想的解决方案是在我们要禁用警告的源文件中使用#pragma,但如...