gpgpu相关内容

修改注册表以增加GPU超时,Windows 7

我试图将GPU的超时从默认设置2秒增加到更长的时间。我发现以下链接,但它看起来略有不同窗口7,因为我看不到任何提到的网页。 有没有人做过这个? 感谢 @RoBik如下如果我想要6天(bit过度我知道,但只是为例)?再次感谢您的帮助,+1。 EDIT 这是错误im当前正在获取。 发生错误,操作已终止。 CUDA.NET异常:ErrorLaunchTimeOut。 ..
发布时间:2017-03-04 11:27:34 其它硬件开发

何时对共享CUDA内存使用volatile

在什么情况下,您应该使用 volatile 关键字与CUDA内核的共享内存?我知道 volatile 告诉编译器从不缓存任何值,但我的问题是关于共享数组的行为: __ shared__ float products [THREADS_PER_ACTION]; //一些计算 products [threadIdx.x] = localSum; //等待每个人完成他们的计算 ..
发布时间:2016-12-22 19:56:50 其他开发

一个非常简单的Makefile应该如何在Linux下进行Cuda编译

我想在Linux下编译一个非常基本的hello世界级Cuda程序。我有三个文件: 内核:helloWorld.cu main方法:helloWorld.cpp 公共标头:helloWorld.h 您能给我写一个简单的Makefile来编译nvcc和g ++? 感谢, Gabor 解决方案 为了防万一,这里是我的变种。我使用它来编译CUDA项目在Mac上,但我 ..
发布时间:2016-12-22 12:55:39 其他开发

用于在CUDA中处理4D张量的内核

我想写一个内核来执行依赖于索引的所有唯一四重点(ij | kl)的计算。生成主机上所有唯一四重点的代码如下: #include 使用namespace std; int main(int argc,char ** argv) { unsigned int i,j,k,l,ltop; unsigned int nao = 7; for(i ..
发布时间:2016-11-03 00:11:25 C/C++开发

CUDA翘曲和每个块的最佳线程数

从我对Kepler GPU和CUDA的了解,一般来说,当一个SMX单元在一个块上工作时,它会启动32个线程的组。现在这里是我的问题: 1)如果SMX单元可以工作在64个翘曲,这意味着每个SMX单元的限制为32x64 = 2048个线程。但是开普勒GPU有4个经线调度器,这意味着只有4个经线可以在GPU内核中同时工作。如果是,这是否意味着我真的应该寻找具有128个线程的倍数(假设线程中没有发散 ..
发布时间:2016-10-30 23:58:07 C/C++开发

CUDA编译和链接

我有主机编译器( g ++ ),设备文件(例如d_A.cu等)编译的主机文件(比如h_A.cpp等)由设备编译器编译( nvcc )和主机设备文件(例如主机函数,内核调用等)(例如h_d_A.cu) nvcc )。 设备端编译 nvcc -arch = sm_20 -dc d_A.cu -o d_A.o $(INCLUDES) / ,因为该文件可能调用/具有可重定位 ..
发布时间:2016-10-30 05:03:58 服务器开发

函数指针(到其他内核)作为CUDA中的内核arg

使用CUDA中的动态并行性,您可以从某个版本开始在GPU上启动内核。我有一个包装函数,它指向我想要使用的内核,它要么在CPU上为旧设备,要么在GPU上更新的设备。对于回退路径,它是好的,对于GPU它不是,并说,内存对齐是不正确的。 有没有办法在CUDA(7)?是否有一些底层调用会给我一个在GPU上正确的指针地址? 代码如下,模板“TFunc”编译器做一些不同的事情,但我已经尝试过强类型 ..
发布时间:2016-10-28 02:41:27 C/C++开发

CUDA /推力下分段数据的成对运算

假设我有 一个数据数组, 一个包含引用数据数组和 第三个数组,其中包含每个键数组条目的 id 例如 DataType dataArray [5]; int keyArray [10] = {1,2,3,1,2,2,1,1,1,1}; int ids [10] = {0,0,0,1,2,2,2,3,3,3} 如何执行自定义操作符 ResultDataT ..
发布时间:2016-10-25 16:49:00 C/C++开发

CUDA /推力下分段数据的成对运算

假设我有 一个数据数组, 一个包含引用数据数组和 第三个数组,其中包含每个键数组条目的 id 例如 DataType dataArray [5]; int keyArray [10] = {1,2,3,1,2,2,1,1,1,1}; int ids [10] = {0,0,0,1,2,2,2,3,3,3} 如何执行自定义操作符 ResultDataT ..
发布时间:2016-10-25 16:32:19 C/C++开发

CUDA /推力下分段数据的成对运算

假设我有 一个数据数组, 一个包含引用数据数组和 第三个数组,其中包含每个键数组条目的 id 例如 DataType dataArray [5]; int keyArray [10] = {1,2,3,1,2,2,1,1,1,1}; int ids [10] = {0,0,0,1,2,2,2,3,3,3} 如何执行自定义操作符 ResultDataT ..
发布时间:2016-10-25 16:15:38 C/C++开发

如何在cuda中生成伪随机

我试图构建一个利用CUDA进行重型提升的粒子系统。我想随机化一些粒子的初始值,如速度和寿命。随机数不必是超随机的,因为它只是为了视觉效果。我发现这篇文章涉及相同的主题: CUDA中的随机数生成 这表明线性同余是要走的路。它似乎应该很容易实现,但我无法获得任何有用的我的实现。 我在Windows 7 64位上使用CUDA和VC ++。 解决方案 包含在NVidia SDK中 ..
发布时间:2016-10-25 15:24:02 C/C++开发

差的opengl图像处理性能

我想使用opengl做一些简单的图像处理。因为我找不到任何好的图书馆,我一直在努力做我自己的解决方案。 我只想在gpu上组成几个图像然后读回他们。然而,我的实现的性能看起来几乎相当于它在cpu上做什么...有些是错误的... 我试图遵循最佳实践我在网上找到了。但仍然做错了。 我已尝试删除所有不相关的代码。 ? int image_width = 1280; in ..
发布时间:2016-10-24 16:23:38 C/C++开发

差的opengl图像处理性能

我想使用opengl做一些简单的图像处理。因为我找不到任何好的图书馆,我一直在努力做我自己的解决方案。 我只想在gpu上组成几个图像然后读回他们。但是我的实现的性能看起来几乎等于它在cpu上做的事情... ...是错误的... 我试图遵循最佳实践我在网上找到了。但仍然做错了。 我已尝试删除所有不相关的代码。 ? int image_width = 1280; i ..
发布时间:2016-10-24 15:32:12 C/C++开发

OpenGL计算着色器调用

我有一个与新的计算着色器相关的问题。我目前正在开发一个粒子系统。我将所有我的粒子存储在shader-storage-buffer中以在计算着色器中访问它们。 #define WORK_GROUP_SIZE 128 _shaderManager-> useProgram(“computeProg” ); glDispatchCompute((_ numParticles / WORK ..
发布时间:2016-10-23 19:49:18 C/C++开发

OpenGL计算着色器调用

我有一个与新的计算着色器相关的问题。我目前正在开发一个粒子系统。我将所有我的粒子存储在shader-storage-buffer中以在计算着色器中访问它们。 #define WORK_GROUP_SIZE 128 _shaderManager-> useProgram(“computeProg” ); glDispatchCompute((_ numParticles / WORK ..
发布时间:2016-10-23 19:26:43 C/C++开发

GPU共享内存库冲突

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