使用 CUDA 显示 GPU 优于 CPU 的最简单示例
我正在寻找最简洁的代码量,可以为 CPU(使用 g++)和 GPU(使用 nvcc)编写代码,并且 GPU 的性能始终优于 CPU。任何类型的算法都是可以接受的。 澄…
使用 nvcc 在 CUDA 中编译模板函数时出错
我有以下 CUDA 代码: enum METHOD_E { METH_0 = 0, METH_1 }; template inline __device__ int test_func() { return int(METH); } __global__ void …
带有 Boost 的 Cuda
我目前正在编写 CUDA 应用程序,并希望使用 boost:: program_options 库来获取所需的参数和用户输入。 我遇到的问题是 NVCC 无法处理编译 boost 文件 …
将预处理变量传递给 NVCC 来编译 CUDA?
当我使用 NVCC 编译 CUDA 代码并且我已经在代码中定义了一个预处理变量(例如 #define DEBUG_OUTPUT 0)时,有没有办法在编译时动态覆盖这样的变量?…
寄存器和共享内存取决于编译计算能力?
当我使用 nvcc -arch=sm_13 编译时,我得到: ptxas info : Used 29 registers, 28+16 bytes smem, 7200 bytes cmem[0], 8 bytes cmem[1] 当我使用 nv…
带有 mingw 的 cuda - 更新
我们一直在 Linux 中开发代码,但想编译 Windows 可执行文件。旧的非 GPU 版本可以在 Windows 中使用 mingw 进行良好的编译,因此我希望能够对 CUDA …
CUDA:不支持未对齐的内存访问:我错过了什么?
有一些问题类似对此,但在这种情况下,它有点奇怪; NVCC 3.1 不喜欢这样,但 3.2 和 4.0RC 喜欢; float xtmp[MAT1]; for (i=0; i
编译调用 Surface 低级 CUDA API 的代码时出现奇怪的错误
这个最小的例子: int main() { struct surfaceReference* surfaceReferencePointer; cudaGetSurfaceReference(&surfaceReferencePointer, "surfaceRe…
无法重载 make_uint4 函数
我尝试按以下方式重载 make_uint4: namespace A { namespace B { inline __host__ __device__ uint4 make_uint4(uint2 a, uint2 b) { return make_ui…
CUDA:为 sm_20 显示错误的 lmem 统计信息?
当 sm_20 GPU 时,使用选项 --ptxas-options=-v 编译的 CUDA 内核似乎显示错误的 lmem(本地内存) 统计信息架构已指定。这同样为 sm_10 / sm_11 / sm…
Cuda 代码#define 错误,预期出现“)”
在下面的代码中,如果我将 #define N 65536 置于 #if FSIZE 之上,则会出现以下错误: #if FSIZE==1 __global__ void compute_sum1(float *a, float *…
如何获取要执行的 PTX 文件
我知道如何从 .cu 生成 .ptx 文件以及如何从 .ptx 生成 .cubin 文件。 但我不知道如何获得最终的可执行文件。 更具体地说,我有一个 sample.cu 文件,…