gpu-programming相关内容

CUDA Thrust:reduce_by_key仅对数组中的一些值,基于“key”值中的值。数组

假设我有两个device_vector数组 d_keys 和 d_data 。 c $ c> d_data 是例如平坦的2D 3x5阵列(例如{1,2,3,4,5,6,7,8,9,8,7,6,5 ,4,3})和 d_keys 是大小为5的1D数组(例如{1,0,0,1,1}),如何进行缩减如果相应的 d_keys 值为1(例如,结果为{10,23,14}),我最终只会在每行的基 ..
发布时间:2017-03-04 11:54:55 其它硬件开发

与第三方CUDA库链接会减慢cudaMalloc

这不是一个秘密,在CUDA 4.x的第一次调用 cudaMalloc 可以是可笑的慢(这是报告了几次),貌似一个 最近,我注意到了奇怪的行为: cudaMalloc 的运行时间取决于我链接到我的程序的第三方CUDA库 (注意,我不使用这些库,只是链接我的程序) 我使用以下程序运行一些测试: int main(){ cudaSetDevice(0); unsigned ..
发布时间:2017-03-04 11:54:33 其它硬件开发

我可以在英特尔的集成图形处理器上运行CUDA吗?

我有一个非常简单的东芝笔记本电脑与i3处理器。此外,我没有任何昂贵的显卡。在显示设置中,我看到 Intel(HD)Graphics (显示适配器)。我计划学习一些cuda编程。但是,我不知道,如果我可以在我的笔记本电脑,因为它没有任何nvidia的cuda启用GPU。 事实上,我怀疑,如果我甚至有一个GPU o_o 因此,如果有人可以告诉我是否可以使用当前配置进行CUDA编程,如果可能 ..
发布时间:2017-03-04 11:41:01 其它硬件开发

CUDA应用程序超时&在几秒钟后失败 - 如何解决这个问题?

我注意到,CUDA应用程序往往具有5-15秒的粗略最大运行时间,然后它们将失败并退出。我意识到理想的是没有CUDA应用程序运行那么长,但假设它是使用CUDA的正确选择,并且由于每个线程的顺序工作量,它必须运行那么长,是有任何方法来延长这个时间量,要解决这个问题? 解决方案 我不是CUDA专家, 您可以禁用Windows监视程序计时器,但这是 强烈不推荐 >,原因应该很明显。 要禁用它,您 ..
发布时间:2017-03-04 11:37:07 其它硬件开发

如何管理CUDA存储器?

当我运行我的CUDA程序,它只分配少量的全局内存(低于20 M),我有一个“内存不足”的错误。 (从其他人的帖子,我认为问题是与内存碎片有关)我试图理解这个问题,并实现我有一些与CUDA内存管理相关的问题。 CUDA中是否有虚拟内存概念? 如果只允许一个内核同时在CUDA上运行,那么在它终止后,它使用或分配的所有内存是否会释放?如果没有,当这些内存释放了吗? 如果允许在CUDA上 ..
发布时间:2017-03-04 11:28:33 其它硬件开发

NVIDIA CUDA SDK示例编译不受支持的体系结构'compute_20'

在编译CUDA SDK时,我得到了一个nvcc致命:不支持的gpu架构'compute_20'我的工具包是2.3和共享系统(即无法真正升级),驱动程序版本也是2.3,运行在4特斯拉C1060s 如果有帮助,问题就会在radixsort中调用。 在线已经有这个问题,但我没有找到任何实际提供解决方案。 解决方案 我相信compute_20是目标Fermi硬件,你没有。此外,Cuda ..
发布时间:2016-12-22 14:19:14 其他开发

VexCL,Thrust和Boost.Compute之间的差异

对这些库的粗略理解,他们看起来非常相似。我知道VexCL和Boost.Compute使用OpenCl作为后端(虽然v1.0版本VexCL也支持CUDA作为后端)和Thrust使用CUDA。除了不同的后端,这些之间的区别是什么。 具体来说,他们解决了什么问题空间,为什么要使用其中一个。 此外,在Thrust常见问题中,指出 OpenCL支持的主要障碍是缺少OpenCL编译器和运行时 ..
发布时间:2016-10-22 17:10:39 C/C++开发

运行在GPU的C#代码

我没有GPU的编程概念和API的知识。我有几个问题: 是否有可能写一张托管的C#代码和编译/它翻译成某种模块,它可以在GPU上执行的?还是我注定有两种实现方式,一种为CPU上管理,一个用于GPU(据我所知,会有什么可以在GPU上执行的限制)? 是否存在一个体面和成熟的API来对各种GPU硬件厂商独立程序(即通用API)? 是否有任何的最佳做法,如果一个人想开发一个CPU上运行的应用程序, ..
发布时间:2016-09-26 10:59:59 C#/.NET

如何使用GPU进行数学

我期待在利用GPU进行运算公式一些,但无法弄清楚如何从C#访问它。我知道,XNA和DirectX框架,允许您使用着色器才能访问的GPU,但我将如何去访问它没有这些框架? 解决方案 我没有从C#做了,但基本上你使用CUDA(假设你在这里使用的是nVidia显卡,当然),SDK和CUDA工具包把它关闭。 NVIDIA已经移植(或书面?)一个BLAS实现对CUDA的设备上使用。他们已经提供 ..
发布时间:2016-09-07 13:25:52 C#/.NET

启动内核时共享内存和流

我是新来的CUDA和在个人项目。我知道,如果你想在启动指定共享内存量: 内核<<< grid_size,BLOCK_SIZE,shared_mem_size>>>(参数); 在另一方面,如果我想提出一个内核到流:内核<<< grid_size,BLOCK_SIZE,0,stream_being_used>>>(参数); ..
发布时间:2016-08-24 12:40:51 C/C++

CUDA __global__函数里的printf

我目前正在写在GPU矩阵乘法,并想调试我的code,但因为我不能使用设备函数内部printf的,有没有别的东西我可以做的,看看有什么在里面怎么回事该功能。这是我目前的功能: __ global__无效MatrixMulKernel(矩阵的广告,矩阵BD,矩阵XD){ INT TX = threadIdx.x; INT TY = threadIdx.y; INT BX = b ..
发布时间:2016-08-18 23:15:43 C/C++

QR分解求解线性系统的CUDA

我在GPU上编写的图像复原算法,在细节 Cuda的:最小二乘法解决,差速 的QR分解法求解线性系统 Ax = b的 的工作原理如下 分钟||斧-B || ---> || QRX-B || ---> ||(Q ^ T)QRx-(Q ^ T)乙|| ---> || RX-(Q ^ T)乙|| 其中,研究是上三角矩阵。由此产生的上三角线性系统是很容易解决的。 ..
发布时间:2015-11-30 13:54:22 C/C++

3D图形采摘 - 什么是这种情况的最佳方法

我工作的一个项目,它允许用户挑选3D对象的场景,我想知道每个人都认为会接近这个特殊情况下的最佳方式。 基本上我们有具有至少100个对象的场景(它们是低聚但至少从12月15日〜三角形组成)和最多至1000-2000对象 并非所有对象将是“可拾取”所有时间,因为一些对象将阻挡其他人,以便“可拾取”的对象可能降落在800-1500范围(取决于场景的复杂)之间 当一个对象被“捡到”我们希望它以某种方 ..
发布时间:2015-11-28 12:23:46 其他开发