问题标签 [gpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2354 浏览

opengl - GPU上的纹理图像处理?

我正在将某个场景渲染为纹理,然后我需要以某种简单的方式处理该图像。我现在这样做是使用读取纹理glReadPixels()然后在 CPU 上处理它。然而这太慢了,所以我正在考虑将处理转移到 GPU。

我能想到的最简单的设置是显示一个简单的白色四边形,它在正交投影中占据整个视口,然后将图像处理位写入片段着色器。这将允许处理的许多实例并行运行以及访问处理所需的纹理的任何像素。

这是一个可行的行动方案吗?以这种方式做事很常见吗?有没有更好的方法来做到这一点?

0 投票
4 回答
5980 浏览

.net - 如何将 GPU 用作 .Net 中的第二个处理器?

这个问题真的说明了一切。我希望我不必在 c++ .dll 中编写代码,然后从托管代码中调用它。

0 投票
5 回答
8150 浏览

opengl - 如何使用 GPU 高效地渲染和处理视频流?

我计划开发一个使用 C++、Qt 和 OpenGL 进行实时视频操作的工具。视频叠加不是一个选项,因为着色器应该用于帧处理。目前我想象以下步骤顺序:

  1. 解码视频 (CPU)
  2. 预处理它(可选,CPU)
  3. 将其传输到视频内存(使用 DMA 的 GPU)
  4. 使用顶点和片段着色器 (GPU) 进一步处理它
  5. 渲染它(GPU)

我正在寻找一些一般性建议来解释可以在这里使用哪些扩展或技术。是否有充分的理由使用 Direct3D?

0 投票
8 回答
25998 浏览

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

我注意到 CUDA 应用程序在失败并退出之前往往有大约 5-15 秒的粗略最大运行时间。我意识到最好不要让 CUDA 应用程序运行那么长时间,但假设使用 CUDA 是正确的选择,并且由于每个线程的顺序工作量必须运行那么长时间,有没有办法延长这段时间或绕过它?

0 投票
6 回答
3495 浏览

apache-flex - 在 Flash Player 10 中检测 GPU 渲染

显然,在 Flash 10 中,您可以使用 GPU 来计算着色器,如果用户没有兼容的 gpu,它就会退回到 cpu。问题是cpu计算过滤器的速度很慢,如果它不能使用gpu,它会很好检测,并且使用更少的效果。如果使用 gpu 渲染,是否可以使用 actionscript 进行检测?

0 投票
3 回答
244 浏览

c - 什么时候从无序列表切换到有序列表?[优化]

我必须实现一种算法来分解体素中的 3D 体积。该算法首先确定哪些顶点位于切割计划的每一侧,然后在第二步中哪条边穿过切割计划。

这个过程可以通过使用排序列表的好处来优化。识别分裂点是O log(n)。但是我必须为每个轴维护一个这样的排序列表,这个列表用于顶点和边。由于这是为了供 GPU 使用而实现的,所以我对内存管理(即 CUDA)也有一些限制。强加了侵入性列表 M/树和 C。

通过完整的“体素化”,我希望最终得到约 4000 个点和 12000 个边缘。幸运的是,这可以通过使用更智能的策略来优化,以摆脱处理过的体素并订购剩余体积切割以将其数量保持在最低限度。在这种情况下,我希望有少于 100 个点和 300 个边。这使得流程管理起来更加复杂,但最终可能会变得更加高效。

因此,问题是帮助我确定标准,以确定与简单的侵入式链接列表相比,使用排序数据结构的好处何时值得付出努力和复杂性开销。

0 投票
2 回答
2763 浏览

gpu - 是否有等效的任务管理器显示 GPU 使用历史记录?

是否有应用程序可以显示 GPU 使用历史记录,就像我可以打开任务管理器查看 CPU 使用情况一样?我希望能够看到我的 WPF 应用程序在 GPU 上施加了多少负载。

0 投票
4 回答
2604 浏览

c++ - 关于 C++ / 分布式系统 / 网络项目的建议

我想从事一个 2-3 个月的项目(全职),该项目涉及 C++ 编码并与网络(协议堆栈)相关。我正在考虑编写自己的网络堆栈,但这似乎并不有趣。如果能找到一个想法来为分布式系统/GPU 实现类似 tcp/ip 的堆栈,就网络性能而言,它会更好。我已经在谷歌上搜索了 3 个小时,但没有遇到任何值得花费 2 个月的东西。像 netperf 这样的开源项目似乎超出了我的范围。我真的很想要一个相对较小的独立项目,我可以按照自己的节奏进行工作。这个项目的目的是利用我的空闲时间在一个项目上(我以后可能会在开源许可下发布)并获得 C++、网络、并行编程、GPU 方面的专业知识和实践经验,

我似乎在寻找想法时遇到了障碍(或者我可能不太清楚我到底要做什么)。所以任何建议都会非常感激。谢谢!

0 投票
26 回答
1078 浏览

optimization - 优化代码会变得不必要吗?

如果摩尔定律成立,并且 CPU/GPU 变得越来越快,那么软件(以及相关的软件开发人员)是否仍会突破界限,以至于您仍需要优化代码?或者一个天真的阶乘解决方案是否足以满足您的代码(等)?

0 投票
1 回答
6870 浏览

c - CUDA 共享内存数组 - 奇怪的行为

在 CUDA 内核中,我的代码类似于以下内容。我正在尝试为每个线程计算一个分子,并将分子累加到块上以计算分母,然后返回比率。但是,CUDA 将 denom 的值设置为块中具有最大 threadIdx.x 的线程为 numer 计算的任何值,而不是跨块中所有线程计算的 numer 值的总和。有谁知道发生了什么?

“结果”应始终介于 0 和 1 之间,并且在整个块中的总和应为 1,但对于 threadIdx.x 为最大值的每个线程,它等于 1.0,并且某些其他值不限于其他线程的范围在块中。