其它硬件开发

CUDA单独编译时的推力错误

当我尝试编译CUDA并启用可重定位设备代码(-rdc = true)时,我遇到错误。我使用Visual Studio 2013作为编译器与CUDA 7.5。下面是一个显示错误的小例子。为了说明,下面的代码运行正常,当-rdc = false,但是当设置为true时,错误出现。 错误简单地说:CUDA错误11 [ \\ cuda \detail\cub\device\dispatch/ dev ..
发布时间:2017-03-05 19:30:48 其它硬件开发

如何在我的ATI上开发CUDA应用程序,稍后在NVIDIA上执行

我的电脑有一个ATI图形卡,但我需要编码一个我已经在CUDA中的算法,以关联的过程。这是可能吗?如果是的话,任何人都有任何链接或教程从设置我的IDE编码一个简单的图像处理或传递图像。我也考虑过OpenCL,但我没有找到任何信息如何做任何事情。 解决方案 部分 我也考虑过OpenCL,但我没有找到任何信息。 检查此NVIDIA网站: http://developer.nvidi ..
发布时间:2017-03-05 19:30:37 其它硬件开发

CUDA数组减少

我知道有多个问题类似于这个已经回答了,但我已经无法拼凑任何非常有用的他们,除非我可能不正确的索引的东西。 我试图对输入向量A执行顺序寻址简化到输出向量B. 完整代码可在这里 http://pastebin.com/7UGadgjX ,但这是内核: __ global__ void vectorSum(int * A,int * B,int numElements){ exte ..
发布时间:2017-03-05 19:28:11 其它硬件开发

如何在不将指针声明为volatile的情况下实现CUDA全局内存一致性?

我会先做一些情境化。我试图在CUDA中使用deques实现非阻塞工作窃取方法。 deques(aDeques)在全局存储器中的块分段数组中,并且popWork()设备函数具有弹出工作以进给线程的目的。除了全局deques,每个块在共享内存(aLocalStack)有一个堆栈,它可以在本地工作。流行发生在3个级别。第一次尝试是在共享堆栈中,第二次尝试是在deque拥有的块和第三次尝试是工作窃取其他d ..
发布时间:2017-03-05 19:27:21 其它硬件开发

错误的结果cufft 3D就地

我写,因为我面对的问题与袖口3D转换就地,而我没有问题的外部版本。我试图关注Robert Crovella的回答这里,但是我没有获得正确的结果,当我做FFT + IFT。 这是我的代码: #include #include #include #include #includ ..
发布时间:2017-03-05 19:26:49 其它硬件开发

CUDA未指定的启动失败错误

我有以下代码 http://pastebin.com/vLeD1GJm ,它可以正常工作,但如果我增加: #define GPU_MAX_PW 100000000 到: #define GPU_MAX_PW 1000000000 然后我收到: frederico @ zeus: 〜/ Dropbox / coisas / projet ..
发布时间:2017-03-05 19:24:57 其它硬件开发

在CUDA中实现用于RDF三元组的大的布尔稀疏矩阵(可能具有1000万条目)

我正在寻找一个合适的矩阵格式来表示一个非常大的布尔稀疏矩阵(只包含0和1)在CUDA。我一直在阅读 CUSPARSE文档,并找到了几种格式,如压缩稀疏行(CSR),压缩稀疏列(CSC)等。由于矩阵非零元素都是1,哪个特定格式应该是完美的选择?矩阵中的操作基本上是基于某些条件将0转换为1的写操作。主要目的是查询特定行中每个1的(row,col)对的矩阵。欢迎对矩阵格式和搜索效率的任何洞察。 @ ..
发布时间:2017-03-05 19:24:36 其它硬件开发

Can'Thrust'可以在设备上生成随机数

有人知道CUDA库'Thrust'是否可以在设备上生成随机数字?我从示例代码中看到它可以在主机上做它...但是这对我没有好处。提前提醒 Jack 解决方案 是的,Thrust有设备随机生成器。查看Thrust小组提供的 Monte Carlo 示例。 ..
发布时间:2017-03-05 19:23:52 其它硬件开发

CUDA中的Floyd-Warshall算法

这是我想在CUDA中并行执行的顺序代码。 / * 顺序线程)CPU上的APSP。 * / void floyd_sequential(int * mat,const size_t N) { for(int k = 0; k for(int i = 0; i for(int j = 0; j { int i0 = i * N + j; int i1 = i * N ..
发布时间:2017-03-05 19:23:03 其它硬件开发

SVO渲染:OpenGL还是自定义渲染器?

我计划创建一个Sparce Voxel Octree(SVO)引擎,并且使用openGL来渲染每个小的多维数据集或者在汇编和编写我自己的渲染器。如果我打算做后者,我不确定如何绘制像素到屏幕(我在Mac,10.8)。什么图形上下文/窗口系统将是这个的首选方法(不是X,我有我的问题X的问题在我的Mac上)。 引擎将需要能够绘制至少50.000个立方体(我将使用opencl / cuda来帮助并行 ..
发布时间:2017-03-05 19:21:28 其它硬件开发

GPGPU:在warp中有一个共同的PC的结果

我在一本书中读到,在波前或扭曲中,所有线程都共享一个公共程序计数器。那么它的后果是什么呢?为什么这么重要? 解决方案 NVIDIA GPU一次执行32个线程,而AMD GPU在时间(波阵面)执行64个线程。控制逻辑,读取和数据路径的共享减少了面积,并增加了perf / area和perf / watt。 为了利用设计编程语言,开发人员需要了解如何合并内存访问以及如何管理控制流分歧。如 ..
发布时间:2017-03-05 19:20:25 其它硬件开发

OpenGL + CUDA互操作 - 图像不显示在窗口中

背景:我使用OpenCV从磁盘读取图像,使用CUDA将其传递到GPU,现在,我试图让OpenGL渲染图像。 我没有在这里使用GLUT,因为我编译我的代码,并得到32位Windows创建一个新窗口,我将渲染图像。现在,当我将 flipped.data 传递给 glTexImage2D()函数。但是,当我使用CUDA + OpenGL时,没有渲染同一个图像。 我的实际图片大于目前的图片。我 ..
发布时间:2017-03-05 19:19:26 其它硬件开发

CUDA全球障碍 - 开普勒而不是费米

以下全局屏障适用于Kepler K10而不是Fermi GTX580: __ global__ void cudaKernel(float * ref1,float * ref2,int * lock,int time,int dim){ int gid = blockIdx.x * blockDim.x + threadIdx.x; int lid = threadIdx.x; ..
发布时间:2017-03-05 19:18:38 其它硬件开发

使用CUDA __shfl_down函数查找数组中的最小值及其索引

我正在写一个函数,它将使用CUDA找到最小值和找到一个1D数组的值的索引。 我开始通过修改还原代码来找到1d数组中的值的和。代码适用于和函数,但我不能得到它的工作寻找最小。 实际的函数在下面,在测试示例中,数组大小是所以,我使用随机减少部分。问题是每个块的g_oIdxs中的输出值(给出索引),并且每个块的g_odata(给出最小值)与普通连续CPU代码相比是错误的。 当我在主机中 ..
发布时间:2017-03-05 19:17:26 其它硬件开发

Cuda内核与减少 - 逻辑错误的点积的2矩阵

我刚刚开始与CUDA,我试图包装我的大脑的CUDA减少算法。在我的情况下,我一直在试图得到两个矩阵的点积。但我得到了正确的答案只有矩阵2。对于任何其他大小的矩阵,我错了。 这只是测试,所以我保持矩阵大小很小。只有大约100所以只有1块将适合所有。 任何帮助将非常感谢。非常感谢! 以下是正式代码 float * ha = new float [n]; // matrix a ..
发布时间:2017-03-05 19:16:37 其它硬件开发

在CUDA中使用clock()函数

我有一个简单的内核,我使用clock()计时。 我在 所以我使用了 clock_t start = clock(); (同样停止)来计时。在编译时,我得到以下错误: tex1.cu(14):error:明显调用的括号之前的表达式必须有-to-)function type` 我缺少一个头文件或编译器选项? 此外,我尝试使用CUDA计时器( cudaEvent_t star ..
发布时间:2017-03-05 19:14:56 其它硬件开发