Tag: gpu

在gcc编译器上编译多个程序时可以使用GPU加速吗?

有什么方法或工具来应用GPU加速编译与GCC编译器的程序? 现在我已经创build了一个程序来迭代地编译给定的程序列表。 这需要几分钟的时间。 我知道像Pyrit这样的一些程序,它有助于将GPU加速应用于预计算哈希。 如果没有可用的工具,请咨询是否使用OpenCL或其他任何程序来重新编程我的代码。

如何使用GPU进行math

我正在寻找利用GPU来处理一些方程式,但不知道如何从C#中访问它。 我知道XNA和DirectX框架允许您使用着色器来访问GPU,但是如何在没有这些框架的情况下访问它?

Python GPU编程

我目前正在python项目中工作,我想利用GPU进行一些计算。 乍一看,似乎有很多工具可用; 乍一看,我觉得我想失去一些东西。 Copperhead看起来很棒,但还没有发布。 这似乎只限于编写低级CUDA或openCL内核; 没有推力,没有cudpp。 如果编号喜欢有东西sorting,即时将不得不自己做。 这对我来说似乎不太合适。 我确实错过了什么? 或者,这个GPU脚本不太适合炒作吗? 编辑:GPULIB似乎可能是我所需要的。 文档是最基本的,python绑定只是在传递,但现在正在申请下载链接。 任何人都有这方面的经验,或链接到类似的免费学术使用的GPU库? 重新编辑:好吧,python绑定事实上是不存在的。 Edit2:所以我想我最好的select是用C / CUDA编写一些东西,并从python中调用它。

何时调用cudaDeviceSynchronize?

什么时候调用到cudaDeviceSynchronize函数真的需要? 据我所知,从CUDA文档中,CUDA内核是asynchronous的,所以在每次内核启动后,我们应该调用cudaDeviceSynchronize 。 但是,我已经尝试了使用和不使用cudaDeviceSynchronize的相同的代码(训练neural network),除了时间测量之前的一个。 我发现我得到了相同的结果,但加速度在7-12倍之间(取决于matrix大小)。 所以,问题是如果有任何理由使用cudaDeviceSynchronize分开计时。 例如: 使用cudaMemcpy将数据从GPU复制回主机之前是否需要? 如果我做像matrix乘法 C = A * B D = C * F 我应该把cudaDeviceSynchronize之间的cudaDeviceSynchronize ? 从我的实验看来,我没有。 为什么cudaDeviceSynchronize太慢了呢?

VexCL,Thrust和Boost.Compute之间的区别

只是对这些库的粗略理解,它们看起来非常相似。 我知道VexCL和Boost.Compute使用OpenCl作为后端(虽然v1.0版本VexCL也支持CUDA作为后端),而Thrust使用CUDA。 除了不同的后端,这两者之间有什么不同。 具体来说,他们解决了什么样的问题空间,为什么要使用另一个。 另外,在Thrust FAQ上也是这样说的 OpenCL支持的主要障碍是缺less支持C ++模板的OpenCL编译器和运行库 如果是这样,VexCL和Boost.Compute甚至可能存在。

为什么绘制电话昂贵?

假设纹理,顶点和着色器数据已经在显卡上,则不需要向卡发送太多的数据。 有几个字节来标识数据,大概是一个4×4的matrix,还有一些其他的参数。 那么所有的开销从哪里来? 这些操作是否需要与gpu进行某种握手? 为什么发送一个包含一堆在CPU上计算的小模型的网格通常比发送顶点ID和变换matrix要快? (第二个选项看起来应该有更less的数据发送,除非模型小于4x4matrix)

可以/我应该在GPU上运行此代码?

我正在处理一个统计应用程序,其中包含大约10 – 30万个浮点数值。 有几种方法在嵌套循环中对数组执行不同但独立的计算,例如: Dictionary<float, int> noOfNumbers = new Dictionary<float, int>(); for (float x = 0f; x < 100f; x += 0.0001f) { int noOfOccurrences = 0; foreach (float y in largeFloatingPointArray) { if (x == y) { noOfOccurrences++; } } noOfNumbers.Add(x, noOfOccurrences); } 目前的应用程序是用C#编写的,运行在Intel CPU上,需要几个小时才能完成。 我没有GPU编程概念和API的知识,所以我的问题是: 使用GPU来加速这样的计算是否可能(并且是否有意义)? 如果是的话:有谁知道任何教程或得到任何示例代码(编程语言无所谓)? 任何帮助将不胜感激。

监视显卡的使用情况

如何在运行某个应用程序时监视显卡的使用情况? 我想看看我的应用程序使用GPU多less。

C#:在GPU上执行操作,而不是CPU(计算Pi)

我最近读了很多关于软件(主要是科学/math和encryption相关的)的部分计算到GPU上,导致支持的操作速度增加100-1000(!)倍的速度。 有没有库,API或其他方式通过C#在GPU上运行的东西? 我正在考虑简单的Pi计算。 我有一个GeForce 8800 GTX,如果这是相关的(宁愿卡独立解决scheme虽然)。

为什么GPU比CPU更强大

GPU如何比CPU更快? 我读过一些文章,谈论GPU如何在比CPU更快地破解密码。 如果是这样的话,那么为什么CPU不能像GPU一样devise,甚至在速度?