如何使用 CUDA/Thrust 对两个数组/向量根据其中一个数组中的值进行排序
这是一个关于编程的概念问题。 总而言之,我有两个数组/向量,我需要对一个数组/向量进行排序,并将更改传播到另一个数组/向量中,这样,如果我对 arr…
如何从两个数组中生成一对向量,然后使用 CUDA/Thrust 按该对的第一个元素进行排序?
好吧,这会很拗口。 我有一个指向序列化二维数组的指针,除了指针算术之外,我想从(本质上)两个数组(我计划从二维数组中取出)中创建一个成对的向…
如何在 CUDA 中使用 CUTThread
我正在尝试运行我自己的多 GPU 示例,并且我正在遵循 NVIDIA 的示例。但是,我找不到 CUTThread 的定义位置,然后编译器说: error: ‘CUTThread’ wa…
opencl 命令队列是如何工作的,我能要求它做什么
我正在研究一种算法,它可以多次执行几乎相同的操作。由于该操作由一些线性代数(BLAS)组成,我想我会尝试使用 GPU 来完成此操作。 我已经编写了内核…
如何在Windows上部署CUDA程序?
我有一个链接到 cuda、cublas 和 cudart 的程序。 有没有一种方法可以在不强制用户安装最新的 nvidia 驱动程序的情况下部署它? 当我将提到的 dll 复…
为什么将共享内存数组填充一列可以使内核速度提高 40%?
当共享内存数组填充一列时,为什么这个矩阵转置内核更快? 我在 PyCuda/Examples/MatrixTranspose 找到了内核。 源 import pycuda.gpuarray as gpuarr…
在 Windows 上将 cuda 库与 gcc 链接
简短版本: 我尝试编译 MAGMA 并收到有关缺少符号的抱怨: testing_cgemm.o:testing_cgemm.cpp:(.text+0x2e7): undefined reference to `cudaMalloc' …
NVidia CUDA:二级缓存和多个内核调用
我想知道 L2 缓存是否在多个内核调用之间被释放。例如,我有一个内核对数据进行一些预处理,第二个内核则使用它。如果数据大小小于 768 KB 是否可以获…
CUDA 4.0 在内核中使用指针 - 错误
我的问题如下: 我希望以两种方式使用内核。 我使用一个已使用 cudaMemcpy 复制的数组 d_array,即通过 cutilSafeCall(cudaMemcpy(d_array, array, 10…
如何验证双打是否已启用并在 cuda 内工作?
我想知道我的 CUDA 设备是否启用了双精度,因为它是具有 CUDA 运行时 4.0(SDK 和工具包、最新驱动程序)的计算能力 2.0 设备。 如何验证双精度是否已…
在 __device/global__ CUDA 内核中动态分配内存
根据 CUDA 编程指南,第 122 页,只要我们使用计算架构 2.x,就可以在 device/global 函数内动态分配内存。 我的问题是,当我尝试执行此操作时,我收…