问题标签 [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 投票
3 回答
6213 浏览

c++ - 从命令行运行 nvcc 时出现问题

我需要从命令行使用 nvcc 编译一个 cuda .cu 文件。该文件是“vectorAdd_kernel.cu”,包含以下代码:

我使用了以下命令(我需要获取一个 .cubin 文件):

编译器创建文件 vectorAdd_kernel.cpp4.ii 和 vectorAdd_kernel.cpp1.ii 然后它停止并输出以下输出:

你能帮我解决这个问题吗?

0 投票
1 回答
1738 浏览

c++ - NVCC 对“名称”的未定义引用

我正在尝试以非标准方式编译 gpgmg CUDA 模拟,因为我没有对尝试运行它的机器的 root 访问权限。

该模拟广泛使用了 HDF5 库 (http://www.hdfgroup.org/HDF5/)。当我在没有 root 访问权限的机器上运行它时,我无法安装 HDF5。因此,我下载了这些文件并将它们保存在一个include目录中。我通过以下命令使用 NVCC 进行编译(是的,我知道这应该是 makefile 格式)。

这编译得很好(如果我只使用 -c 标志),但是当我链接它时,我得到以下错误:

我的第一个想法是main()没有定义,但它是。这是main.cpp:

由于这是同行评审的代码,我假设错误与我链接它的方式有关....

我怎样才能让它正确链接?

0 投票
1 回答
391 浏览

c++ - 不可能在 device_memory 中创建 cusp::coo_matrix 的推力::host_vector?

我正在尝试制作一个向量,cusp::coo_matrix但似乎无法thrust::host_vector以这种方式使用。考虑这段代码:

我从以下位置收到此错误消息nvcc

有趣的是,我得到了完全相同的错误cusp::host_memory(嗯,几乎相同):

所以,我的问题是,这真的是一个缺点还是我做错了什么?非常感谢任何帮助。

另外,我已经测试了,std::vector而不是thrust::host_vector它工作正常。并不是说我是 Thrust 库的忠实粉丝,但我只是好奇。此外,我需要重写一些代码以防thrust::host_vector不合适(thrust::find并且使用了一些其他功能)。

另外,还有其他制作尖点矩阵数组的方法吗?我不认为原始指针new/delete比 更好std::vector,对吗?

0 投票
2 回答
457 浏览

c - 预处理器命令(#if 已定义)在 CUDA 程序中不起作用?

在此代码片段中,我希望 MatrixMultiplication() 方法中的“printf”命令显示其文本。它没有,即使“size”已在前一行声明并且“test”设置为 1。这是代码:

我正在使用以下命令进行编译:

nvcc 是否有某些东西使这种“#if defined”命令不起作用?我之前在使用 gcc 的本机C和 C++ 代码中使用过这种语法,它工作得很好。

对这个问题的任何启发都会很棒!

这是关于 Pastebin 的完整代码:http: //pastebin.com/SusnpgFc

0 投票
4 回答
49447 浏览

c - 错误:cuda_runtime.h:没有这样的文件或目录

如何强制 gcc 在 /usr/cuda/local/include 中查找 cuda_runtime.h?

我正在尝试使用 C 包装器编译 CUDA 应用程序。我正在运行 Ubuntu 10.04。

我已使用以下命令成功地将我的 CUDA 应用程序编译为 .so:

当我尝试使用以下命令编译我的 c 包装文件时:

我收到错误:

我已经验证 cuda_runtime.h 实际上存在于 /usr/local/cuda/include

0 投票
1 回答
830 浏览

c - 用 gcc 编译 cuda 会导致:错误:'threadIdx' undeclared

如何强制 GCC 在我的代码中使用 threadIdx 行进行编译?

我正在尝试使用 ac 包装器编译我的 cuda 应用程序。

要生成 .so 文件,我运行: nvcc -arch=sm_11 -o libtest.so --shared -Xcompiler -fPIC main.cu

然后我尝试使用以下命令编译 c 包装器:gcc -std=c99 -I/usr/local/cuda/include -o main -L。-ltest main.c

这会在我的代码中导致以下错误几层(包含到包含的文件):错误:'threadIdx' undeclared

注意:一切都可以作为 GPU 应用程序编译和运行,无需任何 C 包装。

0 投票
2 回答
2391 浏览

cuda - 如何在 CUDA 中指定全局设备变量的对齐方式

我想在 CUDA 中声明全局设备变量的对齐方式。具体来说,我有一个字符串声明,就像 __device__ char str1 = "some pre-defined string"; 在普通 gcc 中一样,我可以向编译器请求对齐 __device__ char str1 __attribute__ ((aligned (4))) = "some pre-defined string";

但是,当我在 nvcc 上尝试此操作时,编译器会忽略这些请求。我想这样做的原因是将这些字符串复制到我的内核中的缓冲区中,并且一次复制单词比一次复制字节要快得多,尽管它们需要对齐 src 字符串。谁能告诉我如何从 nvcc 编译器请求对齐?

0 投票
2 回答
2465 浏览

cuda - NVCC 5.0 和 OpenACC

根据英伟达网站

“CUDA 工具包补充并完全支持使用 OpenACC 指令进行编程。”

这是否意味着可以使用编译nvcc器编译 OpenACC 程序(pargma 和 API)?或者这意味着只支持运行时例程调用?

不幸的是,这些天我无法安装 CUDA Toolkit 5.0 来获得答案。谢谢!

0 投票
1 回答
358 浏览

cuda - 创建 CUDA 上下文的区别

我有一个使用三个内核的程序。为了获得加速,我正在做一个虚拟内存复制来创建一个上下文,如下所示:

它是在我想要计时的内核之前启动的,如下所示:

我还阅读了其他最简单的方法来创建上下文作为 o cudaFree(0)​​r cudaDevicesynchronize()。但是使用这些 API 调用比使用虚拟内核要糟糕得多。

在强制上下文之后,程序的执行时间0.000031对于虚拟内核来说​​是秒0.000064,对于 cudaDeviceSynchronize() 和 cudaFree(0) 来说都是秒。时间是程序执行 10 次的平均值。

因此,我得出的结论是,启动内核会初始化一些在以规范方式创建上下文时未初始化的内容。

那么,使用内核和使用 API 调用这两种方式创建上下文有什么区别呢?

我在 GTX480 上运行测试,在 Linux 下使用 CUDA 4.0。

0 投票
1 回答
32000 浏览

cuda - nvcc:找不到命令

我将 cuda sdk 5.0 安装到 /opt 甚至编译了所有示例,但我无法执行 nvcc。这是一些控制台输出: 在此处输入图像描述 我正在使用 linux mint 13。