问题标签 [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.

0 投票
1 回答
3816 浏览

visual-studio-2010 - VS2010 编译器和 cuda 错误:链接规范与之前的“hypot”不兼容

当我尝试在调试 64 位配置中使用 VS 2010 在 64 位 Windows 7 上构建我的项目时,我收到此错误以及其他两个错误。

错误:链接规范与 math.h 第 161 行中先前的“hypot”不兼容错误:链接规范与 math.h 第 161 行中的先前“hypotf”不兼容错误:函数“abs(long long)”已在 math_functions 中定义.h 第 534 行

我在 32 位版本中没有收到这些错误。此外,64 位版本在 VS2008 中工作。这个问题是否有适当的解决方法,还是我应该等到 nvcc 支持 VS 2010 编译器?

0 投票
6 回答
7897 浏览

cuda - nvcc -Xptxas –v 编译器标志无效

我有一个 CUDA 项目。它由几个包含我的应用程序逻辑的 .cpp 文件和一个包含多个内核以及一个__host__调用它们的函数的 .cu 文件组成。

现在我想确定我的内核使用的寄存器数量。我的正常编译器调用如下所示:

nvcc -arch compute_20 -link src/kernel.cu obj/..obj obj/..obj .. -o bin/..exe -l glew32 ...

不幸的是,在此调用中添加“-Xptxas –v”编译器标志没有效果。编译器仍然产生与以前相同的文本输出。编译后的 .exe 的工作方式也与以前相同,但有一个例外:我的帧率从 80fps 跃升至 1800fps。

0 投票
2 回答
8012 浏览

cuda - 使用 nvcc 时,arch 和 code 选项的默认值是什么?

编译 CUDA 代码时,您必须选择要为哪种架构生成代码。nvcc提供了两个参数来指定这个架构,基本上:

  • arch指定虚拟架构,可以是compute_10compute_11等。
  • code指定真实的架构,可以是sm_10,sm_11等。

所以像这样的命令:

将为具有 1.3 计算能力的设备生成“立方体”代码。如果我错了,请纠正我。我想知道这两个参数的默认值是什么?当没有为or指定值时,nvcc 使用的默认架构是什么? arch code

0 投票
2 回答
1073 浏览

cuda - 如何获取要执行的 PTX 文件

我知道如何从 a 生成.ptx文件.cu以及如何从 a 生成.cubin文件.ptx.但我不知道如何获得最终的可执行文件。

更具体地说,我有一个sample.cu文件,它被编译为sample.ptx. 然后我使用 nvcc 编译sample.ptxsample.cubin. 但是,.cubin如果没有主机代码,则无法直接执行此文件。如何将.cubin文件链接到我的原始.cu文件以生成最终的可执行文件?

0 投票
1 回答
5308 浏览

c - Cuda 代码 #define 错误,应为“)”

在以下代码中,如果我将 #define N 65536 置于 #if FSIZE 之上,则会出现以下错误:

float1vsfloat2.cu(10):错误:预期为“)”

这个问题有点烦人,我真的很想知道它为什么会发生。我有一种感觉,我忽略了一些非常愚蠢的事情。顺便说一句,此代码部分位于文件的顶部。之前甚至没有#include。我将非常感谢任何可能的解释。

0 投票
0 回答
340 浏览

warnings - CUDA:控制表达式的 NVCC 警告是恒定的

nvcc.exe在我的 .cu 主机代码中warning: controlling expression is constant为以下assert()抛出一个:

如果我在断言中包含一个字符串,为什么会生成警告?此警告是否有解决方法?我喜欢在 assert 中包含信息性字符串,它们可以很好地编译,而不会使用 Visual C++ 编译器发出任何警告。

0 投票
1 回答
759 浏览

cuda - CUDA:为 sm_20 显示错误的 lmem 统计信息?

当指定 GPU 架构时,使用该选项编译的 CUDA 内核--ptxas-options=-v似乎显示错误的 lmem(本地内存)统计信息。sm_20这同样为架构提供了有意义的 lmem 统计信息sm_10 / sm_11 / sm_12 / sm_13

有人可以澄清 sm_20 lmem 统计数据是否需要以不同的方式阅读,或者它们是完全错误的?

这是内核:

--ptxas-options=-vsm_20报告:

--ptxas-options=-vsm_10 / sm_11 / sm_12 / sm_13报告:

sm_20 报告一个4 bytes的 lmem ,如果您看到内核中使用了 4x1000 字节数组,这根本不可能。较旧的 GPU 架构报告正确的4000 字节lmem 统计信息。

这是用CUDA 3.2试过的。我参考了NVCC 手册(v3.2) 的打印代码生成统计部分,但它无助于解释这种异常情况。

0 投票
3 回答
1071 浏览

cuda - 无法重载 make_uint4 函数

我正在尝试以make_uint4下列方式重载:

但是当我尝试编译它时,nvcc 返回一个错误:

所有这些错误都指向这"return…"条线。

0 投票
1 回答
282 浏览

cuda - 调用 Surface 低级 CUDA API 的奇怪错误编译代码

这个最小的例子:

像这样编译时失败:

显示以下错误消息:

我无法理解我做错了什么。我正在使用 CUDA 3.2 在 Linux Ubuntu 64 位机器上进行编译。

0 投票
1 回答
541 浏览

cuda - 在 Cuda (nvcc) 中关闭文件指针

在 gcc 中,close 函数用于关闭文件指针。但是我的 nvcc 编译器不允许这样做。我似乎找不到特定于 cuda 的调用或别名。

是否有一个特殊的 cuda 文件指针关闭?

这是我得到的错误。 error: identifier "close" is undefined

对于这个简单的代码; FILE* fp = fopen(filename,"r"); if(fp == NULL) { return NULL; }

close(fp);