问题标签 [nvcc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
boost - 告诉 NVCC 不要预处理主机代码以避免 BOOST_COMPILER 重新定义
我有一个包含主机和设备代码的 .cu 文件:
如您所见,我包含了 boost 的互斥锁功能。当我编译文件时,由于以下警告而出现错误:
所以我假设 nvcc 处理设备代码和主机代码的所有预处理。我是对的,如果是的话,我怎样才能避免这种情况并将预处理传递给 cl.exe(MSVC 2010,Win7)?
我已经尝试将主机代码放在单独的 hpp/cpp 文件中,并将该文件包含在 cu 文件中 - 同样的问题。在主机代码中,我定义了一个将在设备代码中使用的表面参考。所以这就是我需要在 cu 文件和主机代码中包含设备代码分别知道的原因。
eclipse - Nsight Eclipse 版找不到 nvcc
我刚刚安装了 CUDA 5.0 Preview (Mac OS X Lion),但在使用 Nsight 时遇到了问题。
该工具包似乎已正确安装。(驱动程序加载,nvcc -V 在 bash 中工作,示例工作正常)。
当我创建一个新项目时,我收到警告:
- 启动外部扫描仪信息生成器时出错 (nvcc -dryrun ...)
- 在 $PATH 中找不到程序“nvcc”
在 Preferences -> CUDA Toolkit 中,我没有检测到与 CUDA 兼容的设备。这很奇怪,因为我的机器上有 nVidia GT 650M。那么为什么 Nsight 不识别它呢?
如果我尝试构建一个项目,我会收到 2 个错误:
- /bin/sh: nvcc: 找不到命令
- 制作:* [src/test.o] 错误 127
eclipse - 在 $PATH 中找不到程序“nvcc”
并且在启动外部扫描仪信息生成器时出现 4x 错误(nvcc -dryrun -G -g -O0 .....)
我为 ubuntu 12.04 安装了 cuda 工具包 5,还安装了 gtx580 的开发驱动程序
c++ - CUDA 在运行时检查 nvcc "-arch"-flag
是否有可能根据例如nvcc -arch=sm_11
或nvcc -arch=sm_20
已用于编译代码来调用不同的内核?更明确一点:
如您所见,我找到了CUjit_target_enum
incuda.h
但我无法确定 nvcc 是否定义了任何等于枚举值之一的标志。
我的意图是我不知道我的设备是否支持双精度浮点数。这意味着我必须将我的数据从 转换double
为float
并因此运行不同的内核(是的,我更愿意尽可能以双精度而不是单精度运行内核)。
只要能奏效,我也会欣赏一种完全不同的方法。
optimization - 完全禁用 NVCC 上的优化
我正在尝试在我的 GPU 上测量峰值单精度触发器,因为我正在修改 PTX 文件以在寄存器上执行连续的 MAD 指令。不幸的是,编译器正在删除所有代码,因为它实际上没有任何用处,因为我没有执行任何数据加载/存储。是否有编译器标志或编译指示添加到代码中,以便编译器不会触及它?
谢谢。
c - 使用 CUDA 和 GCC 链接错误
我一直在尝试编译一组 C 和 CUDA 代码。问题出在我制作文件时的编译链接阶段。我制作了一个要在主机上执行的包装函数,以在设备上分配内存,将数据复制到它,并运行内核代码。此外,包装代码包含在与内核代码相同的文件中。包装器。以下是代码调用函数的方式:
这是我制作的头文件“LAMMPS.h”中的函数定义:
这是我正在使用的makefile:
最后,编译步骤工作正常,但是当我将它们全部链接在一起时(使用 tortGPU 的最后一步,我收到以下错误消息:
我尝试使用带有 -L 的 gcc 并得到完全相同的错误代码。谢谢!
windows - 指定编译器 NVCC 用于编译主机代码
运行 nvcc 时,它始终使用 Visual C++ 编译器 ( cl.exe
)。我怎样才能让它使用 GCC 编译器?
将CC
环境变量设置为gcc
并没有解决它。我在可执行文件帮助输出中也找不到任何选项。
eclipse - “没有可用的源代码......”在 OSX 10.8.1 上使用 Nsight Eclipse Edition RC1
我正在尝试在 OS X Mountain Lion 10.8.1 上使用 CUDA 5 RC1。从 Nsight Eclipse Edition 调试时,出现错误:
main() 没有可用的源
我已经验证 nvcc 设置为使用 -g 和 -G 来发出设备和主机调试符号,并且 -O0 设置为禁用优化。
任何想法是什么问题或我可以执行的其他一些诊断?
cuda - CUDA应用的计算能力会自动升级吗?
如果我编译具有较低计算能力的 CUDA 程序,例如 1.3(nvcc 标志 sm_13),并在具有 Compute Capability 2.1 的设备上运行它,它会利用 Compute 2.1 的功能吗?
在那种情况下,计算 2.1 设备的行为会像计算 1.3 设备一样吗?
cuda - 我可以通过#define 在编译时获得 CUDA 计算能力(版本)吗?
如何通过#define 在编译时获得 CUDA 计算能力(版本)?例如,如果我使用 __ballot 并编译
我可以通过#define 在我的代码中获得计算能力的版本,以便选择带有 __ballot 和不带 __ballot 的代码分支吗?