nvcc相关内容
我是来自 Windows 的 Linux(使用 Ubuntu 14.04 LTS 64 位)的新手,我正在尝试移植我现有的 CUDA 项目. 通过链接时 /usr/local/cuda/bin/nvcc -arch=compute_30 -code=sm_30,compute_30 -o Main.o Display.o FileUtil.o Timer.o NeuralNetwork.o
..
我在带有 GTX 570(计算能力 2.0)的 Ubuntu 10.10 上使用 CUDA 4.0,并带有 GCC 编译器套件.据我了解,在编译过程中,CUDA编译器驱动程序nvcc将.cu文件拆分为主机代码和设备代码,并调用主机编译器编译主机代码和分别编译设备代码.最后,它将生成的主机目标代码和设备 PTX 代码合并为一个可执行文件. 对于 Linux 系统,用于编译主机代码的默认编译器是
..
我需要从命令行使用 nvcc 编译一个 cuda .cu 文件.该文件是“vectorAdd_kernel.cu",包含以下代码: extern "C" __global__ void VecAdd_kernel(const float* A, const float* B, float* C, int N){int i = blockDim.x * blockIdx.x + threadIdx
..
我正在寻找可以为 CPU(使用 g++)和 GPU(使用 nvcc)编写的最简洁的代码量,GPU 的性能始终优于 CPU.任何类型的算法都是可以接受的. 澄清一下:我实际上是在寻找两段短代码,一段用于 CPU(在 g++ 中使用 C++),另一段用于 GPU(在 nvcc 中使用 C++),GPU 的性能优于后者.最好以秒或毫秒为单位.最短的代码对. 解决方案 首先,我重申一下我的评
..
我有一个 CUDA 类,我们称它为 A,在头文件中定义.我已经编写了一个测试内核,它创建了一个类 A 的实例,它可以很好地编译并产生预期的结果. 此外,我有我的主 CUDA 内核,它也可以很好地编译并产生预期的结果.但是,当我将代码添加到主内核以实例化类 A 的实例时,nvcc 编译器会因分段错误而失败. 更新: 为了澄清,分段错误发生在编译期间,而不是在运行内核时.我用来编译的
..
在阅读了 CUDA 9 中的合作组之后,我一直在尝试在网格级别进行同步. 我正在使用 Visual Studio 2017、GTX 1060 和 CUDA 9.1. 我修改了我的代码如下: __global__ void ExplicitKernel_American(/* ... */) {int i = threadIdx.x + blockDim.x * blockIdx.x;
..
我在 Microsoft Visual Studio 2008 上使用 NVIDIA CUDA 4.1.我还安装了 Intel Parallel Studio XE 2011. 默认情况下,NVIDIA 的 C 编译器 nvcc.exe 使用微软的 C 编译器 cl.exe 来编译它的 C 代码. 如何更改设置以使 nvcc 使用 Intel 的 C 编译器 icl.exe. 解
..
我想从 Windows 命令行使用 nvcc -ptx,但我总是收到以下错误消息:nvcc:致命错误:在“C:\Program Files (x86)\Microsoft Visual S"中找不到安装 Microsoft Visual Studio 配置文件“vcvars64.bat"tudio 11.0\VC\bin/../..' 我使用的是 vs 2012 速成版.有什么解决办法?
..
我为 Caffe 编译而苦恼.可惜我编译失败了. 步骤我遵循了: git clone https://github.com/BVLC/caffe.gitcd咖啡mkdir 构建光盘构建制作..做所有 运行 make all 失败并显示以下错误消息: [ 2%] 构建 NVCC(设备)对象 src/caffe/CMakeFiles/cuda_compile.dir/util/cuda_c
..
我对“-gencode"语句中的“code=sm_X"选项有点困惑. 一个例子:NVCC 编译器选项有什么作用 -gencode arch=compute_13,code=sm_13 嵌入到库中? 只有 CC 1.3 的 GPU 的机器代码(cubin 代码),或者 也 CC 1.3 的 GPU 的 PTX 代码? 在“Maxwell 兼容性指南"中,声明“只有 'code=
..
我想从 CUDA 代码 (kernel.cu) 创建一个 .dll,以便从外部 C 程序中使用这个库.经过一些尝试,我只在 .cu 文件中留下了一个简单的 C 函数.代码如下: kernel.cu #include #include “内核.h"无效你好(const char *s){printf("你好 %s\n", s);}/* kernel.h #ifndef
..
我们必须做什么才能使用 cuPrintf()?(设备计算能力 1.2,Ubuntu 12)我找不到“cuPrintf.cu"和“cudaPrintf.cuh",所以我下载了它们的代码并包含它们: #include "cuPrintf.cuh"#include "cuPrintf.cu" 顺便说一句,这是其余的代码: __global__ void hello_kernel (float f)
..
我需要修改PTX代码,直接编译.原因是我想要一个接一个的特定指令,并且很难编写导致我的目标 PTX 代码的 cuda 代码,所以我需要直接修改 ptx 代码.问题是我可以将其编译为(fatbin 和 cubin),但我不知道如何将这些(.fatbin 和 .cubin)编译为“X.o"文件. 解决方案 可能有一种方法可以通过有序的 nvcc 命令序列来做到这一点,但我不知道它并没有没发现.
..
好的,关于如何正确链接事物,我有一个非常令人不安的 CUDA 5.0 问题.如果能提供任何帮助,我将不胜感激! 使用 CUDA 5.0 的可分离编译特性,我生成了一个静态库 (*.a).通过 nvcc 运行时,这很好地与其他 *.cu 文件链接,我已经这样做了很多次了. 我现在想获取一个 *.cpp 文件,并使用 g++ 或其他方式将其链接到此静态库中的主机代码,但不使用 nvcc.如
..
我正在寻求有关 CUDA 项目的入门帮助.我的目标是拥有一个可以在本机 g++ 编译器中编译但使用 CUDA 代码的项目.我知道我必须在 nvcc 编译器中编译我的 CUDA 代码,但据我了解,我可以以某种方式将 CUDA 代码编译成 cubin 文件或 ptx 文件. 这是我的问题: 如何使用 nvcc 编译成 cubin 文件或 ptx 文件?我不需要 -c 什么的吗? 我要使用
..
我正在研究 cuda 5.5,但我没有任何 Nvidia GPU.在旧版本的 nvcc 中有一个标志 --multicore 来为 CPU 编译 cuda 代码.在新版本的nvcc中,有什么选项??我在 Linux 上工作. 解决方案 CUDA 工具包,因为至少 CUDA 4.0 不支持在没有 GPU 的情况下运行 cuda 代码的能力. 如果你只是想编译代码,参考这个问题.
..
我正在尝试修改用 C 编写的 GPL 程序.我的目标是用 CUDA 实现替换一种方法,这意味着我需要使用 nvcc 而不是 gcc 进行编译.我需要帮助来构建项目 - 而不是实施它(我认为您不需要了解任何有关 CUDA C 的信息来提供帮助). 这是我第一次尝试更改涉及 .configure 和 Makefile 的中等复杂度的 C 项目.老实说,这是我很长时间以来第一次用 C 做任何事情,
..
我一直在阅读许多与持续记忆相关的 SO 问题,但我仍然不明白为什么我的程序无法正常工作.总体看起来如下 Common.cuh __constant__ int numElements;__全球的__无效内核函数(); Common.cu #include "Common.cuh"#include __全球的__内核函数(){printf("NumElements =
..
我正在尝试使用 CUDA 构建一个简单的应用程序,我已经连续尝试了几个小时,但我无法让它在 Windows 上运行.nvcc 绝对拒绝在没有不支持我需要的东西的 Visual Studio 编译器的情况下进行编译.我尝试使用带有 clang 的 nvcc 进行构建,但它只是要求我使用 Visual Studio 的编译器.我也尝试过直接使用 clang,因为它现在支持 CUDA,但我收到此错误:
..
我想用 nvcc 禁用特定的编译器警告,特别是 警告:不允许 NULL 引用 我正在编写的代码使用 NULL 引用是 SFINAE 的一部分,因此无法避免. 一个理想的解决方案是在我们想要禁用警告的源文件中添加一个 #pragma,但编译器标志也可以,如果存在仅关闭警告的编译器标志问题. 解决方案 实际上可以通过 NVCC 禁用设备上的特定警告.我花了很长时间才弄清楚该怎
..