gpgpu相关内容

编译Cuda程序时出错

嘿,这个程序似乎很好,但我还是得到一个错误,一些建议? 程序: #include“dot.h” #include #include #include int main(int argc,char ** argv) { int * a,* b,* c; int * dev_a,* dev_ ..
发布时间:2017-03-04 15:08:21 C/C++开发

OpenCL FFT对Nvidia和AMD硬件?

我正在开发一个需要在Nvidia和AMD显卡上使用FFT的项目。我最初寻找一个可以同时工作的图书馆(认为这是OpenCL的方式),但我没有任何运气。 有人建议我将必须使用每个供应商的FFT实现,并编写一个包装器,选择在平台上做什么。我发现AMD的实现很容易,但实际上我正在使用Nvidia卡(这是更重要的一个为我的特定应用程序)。 只有Nvidia实现我可以找到的是CUFFT一个。有人知 ..
发布时间:2017-03-04 15:07:38 其它硬件开发

计算实现的带宽和触发器/ Gflops,并评估CUDA内核性能

大多数论文显示了翻牌/ Gflops并为其CUDA内核实现了带宽。我还读了关于stackoverflow的答案以下问题: 如何评估CUDA性能? 如何计算内核的Gflops 在程序中计算FLOPS / GFLOPS - CUDA 如何计算CUDA内核实现的带宽 大多数东西似乎确定,但仍然不让我感觉舒服在计算这些东西。谁能写一个简单的CUDA内核?然后给出deviceQ ..
发布时间:2017-03-04 15:03:03 其它硬件开发

为什么要使用CUDA驱动程序API而不是CUDA Runtime API?

为什么要使用CUDA驱动程序API,在这种情况下,我不能使用CUDA Runtime API(比Driver API更方便)? 解决方案 运行时API比驱动程序API更高级的抽象,它通常更容易使用(性能差距应该是最小的)。驱动程序API是基于句柄的,并提供更高程度的控制。相反,运行时API更容易使用(例如,您可以使用 kernel>> 启动语法)。 “更高的控制度”意味着使用 ..
发布时间:2017-03-04 14:57:22 其它硬件开发

OpenCL动态并行性/ GPU生成的线程?

CUDA 5 刚刚被释放,并且它具有从另一个GPU(主?)线程产生GPU线程的能力,最小化CPU和GPU之间的标注, 有什么计划支持OpenCL领域的GPU产生的线程?因为我不能选择封闭的标准(我的用户群是“everygamer”),我需要知道OpenCL何时准备好在这方面的黄金时间。 解决方案 OpenCL标准通常是CUDA的方式(除了设备分区功能),我猜这个功能将在一年内添加到O ..
发布时间:2017-03-04 14:38:25 其它硬件开发

CUDA - 为什么基于warp的并行减速更慢?

我有一个关于基于warp的并行缩减的想法,因为一个warp的所有线程都是通过定义同步的。 所以想法是输入数据可以减少因子64(每个线程减少两个元素),而不需要任何同步。 与Mark Harris的原始实现相同,减少应用于块级,数据在共享内存上。 http://gpgpu.org/static/sc2007/SC07_CUDA_5_Optimization_Harris.pdf 我 ..
发布时间:2017-03-04 14:32:47 其它硬件开发

在GPU编程中使用条件语句时,工作项执行什么?

如果您的工作项目在波前执行,并且有一个条件,例如: if(x){ ... } else { .... } 工作项执行什么?是这样的情况,其中波前中的所有工作项将执行第一分支(即 x == true )。如果没有x为false的工作项,那么跳过其余的条件语句? 如果一个工作项采用备用路径会发生什么。我告诉所有工作项将执行备用路径(因此执行两个路径?) ..
发布时间:2017-03-04 14:26:42 其它硬件开发

GPU上的分支预测

我有一个关于GPU中分支预测的问题。据我所知,在GPU中,他们做分支的预测。 例如,我有一个这样的代码: if C) A else B 40个周期,B需要50个周期来完成执行,如果假设一个翘曲,A和B都被执行,那么总共需要90个周期来完成这个分支吗?或者它们与A和B重叠,即,当A的一些指令被执行时,然后等待存储器请求,然后执行B的一些指令,然后等待存储器 ..
发布时间:2017-03-04 14:26:21 其它硬件开发

一个GPU的每个多处理器有多少“CUDA核心”?

我知道Fermi架构之前的设备在单个多处理器中有8个SP。在费米架构中,计数是否相同? 解决方案 答案取决于CUDA设备的Compute Capability属性。数字为: 计算能力 8 CUDA核心/ SM CC == 2.0 - > 32 CUDA cores / SM CC == 2.1 - > 48 CUDA cores / SM 请参阅 CUDA的附录G C程序设 ..
发布时间:2017-03-04 14:21:59 其它硬件开发

GPU共享内存库冲突

我想了解银行冲突的发生情况。 如果我在全局内存中有一个大小为256的数组,并且我在一个块中有256个线程,并且我想将数组复制到共享内存。因此每个线程复制一个元素。 shared_a [threadIdx.x] = global_a [threadIdx.x] pre> 这个简单的操作会导致银行冲突吗? 现在假设数组的大小大于线程数,所以我现在使用这个来将全 ..
发布时间:2017-03-04 14:21:47 C/C++开发

不可信的GPGPU代码(OpenCL等) - 是否安全?有什么风险?

当在典型的CPU上运行不受信任的代码时,有许多方法:沙箱,假根,虚拟化... GPGPU的不可信代码OpenCL,cuda或已经编译过的)? 假设显卡上的内存在运行这样的第三方不可信代码之前被清除, 是否有任何安全风险? 有什么样的风险? 他们? 可以 吗? ? 其他技巧? 解决方案 GPU代码肯定是有风险的。当前GPU不提供存储器保护,因此本质上,每个GPU ..
发布时间:2017-03-04 14:19:33 其它硬件开发

是否可以在AMD GPU上运行CUDA?

我想将我的技能扩展到GPU计算。我熟悉光线跟踪和实时图形(OpenGL),但下一代图形和高性能计算似乎在GPU计算或类似的东西。 我目前在家庭计算机上使用AMD HD 7870显卡。我可以为此编写CUDA代码吗? (我的直觉是没有,但由于Nvidia发布了编译器二进制文件,我可能是错误的)。 第二个更一般的问题是,我从哪里开始GPU计算?我确定这是一个常被问到的问题,但我看到的最好的是 ..
发布时间:2017-03-04 14:17:02 其它硬件开发

CUDA驱动程序API与CUDA运行时

编写CUDA应用程序时,您可以在驱动程序级别或运行时级别工作,如图所示(库为CUFFT和CUBLAS高级数学运算): 我假设两者之间的折衷是提高低级API的性能,但代价是增加代码的复杂性。什么是具体的差异,有什么重要的事情,你不能做的高级API? 我使用CUDA.net与C#互操作,它是构建为驱动程序API的副本。这鼓励在C#中编写大量相当复杂的代码,而使用运行时API的C ++等价体 ..
发布时间:2017-03-04 14:14:04 C#/.NET

NVIDIA与AMD:GPGPU性能

我想听听有编码经验的人。我自己,我只有NVIDIA的经验。 NVIDIA CUDA似乎比竞争对手更受欢迎。 (只是在这个论坛上计数问题标签,'cuda'优于'opencl'3:1,'nvidia'优于'ati'15:1,并且没有'ati-stream'的标签。 另一方面,根据维基百科,ATI / AMD卡应该有更多的潜力,特别是每一美元。作为今天市场上最快的NVIDIA卡,GeForc ..
发布时间:2017-03-04 14:11:54 其它硬件开发

释放CUDA内存Matlab

我注意到在GPU中分配的内存不会释放。 我使用以下命令: A = gpuArray.randn(1e4); gpuDevice FreeMemory:3.3336e + 09 A = A * 2 FreeMemory: 2.5336e + 09 看起来像MATLAB为A * 2分配内存,但是没有释放A的内存。我看不到如何 ..
发布时间:2017-03-04 14:05:56 其它硬件开发

设置最大CUDA资源

我想知道是否可以设置CUDA应用程序的最大GPU资源?例如,如果我有一个4GB的GPU,但想要一个给定的应用程序只能够访问2GB它,如果尝试分配更多的失败。 要么在进程级别上设置,要么在CUDA上下文级别上设置。 解决方案 不,目前没有允许这种资源管理的API,进程或驱动程序控制。 > ..
发布时间:2017-03-04 13:58:58 其它硬件开发