问题标签 [opencl]

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 投票
3 回答
1939 浏览

opengl - GLSL 是否使用 SLI?有 OpenCL 吗?多 GPU 的 GLSL 或 OpenCL 哪个更好?

OpenGL 的 GLSL 在多大程度上利用了 SLI 设置?它是在执行时使用还是仅用于最终渲染?

同样,我知道 OpenCL 与 SLI 不同,但假设一个有多个 GPU,它在多处理方面与 GLSL 相比如何?

由于它可能取决于应用程序,例如常见转换或光线追踪,您能否提供有关不同应用程序类型差异的见解?

0 投票
2 回答
3801 浏览

memory-management - OpenCl 清理导致段错误

我使用网络上的不同资源构建了自己的小 Opencl 示例。实际的内核可以工作,我得到了我想要的输出,但是我在其中一个示例中发现的清理功能会导致段错误。我做错了什么?

谢谢!

0 投票
1 回答
753 浏览

opencl - 如何强制 Apple 的 OpenCL 编译器重新编译缓存的内核?

我想在我的 OpenCL 内核中使用#include 语句,但似乎 Apple 的 OpenCL 编译器缓存了内核,因此如果您更改包含文件的内容而不是执行包含的文件,则程序在运行之间不会更改。

我编写了一个示例来说明这一点:http: //github.com/enjalot/adventures_in_opencl/tree/master/experiments/inc/

如果您编译并运行,它应该可以正常工作。然后,如果您注释掉 inc.cl 中的结构定义,它仍然可以正常运行(或更改 lvl2.cl 中的任何内容)

在 Ubuntu 上使用 NVIDIA 编译器可以获得预期的行为。

那么有没有办法强制 clBuildProgram 重新编译内核呢?

0 投票
1 回答
2675 浏览

event-handling - 教程 OpenCl 事件处理

在我的最后一个问题中,OpenCl 清理会导致段错误。,有人暗示缺少事件处理,即不等待代码完成,可能会导致段错误。从那以后,我再次查看了我使用的教程,但他们不关注事件(矩阵乘法 1(OpenCL)NVIDIA_OpenCL_GettingStartedLinux.pdf),或者详细讨论它并且(对我而言)可以理解。

你知道where and how to waitOpenCL 的教程吗?

谢谢!

0 投票
2 回答
3618 浏览

cuda - 使用 OpenCL 的累积数组求和

我正在使用 OpenCL 计算 n 维点之间的欧几里得距离。我得到两个 n 维点列表,我应该返回一个数组,其中只包含从第一个表中的每个点到第二个表中的每个点的距离。

我的方法是进行常规的双循环(对于 Table1 中的每个点{对于 Table2 中的每个点 {...} },然后对并行中的每一对点进行计算。

然后将欧几里得距离分成 3 部分: 1. 取点中每个维度之间的差 2. 平方差(仍然是每个维度) 3. 将 2 中获得的所有值相加。 4. 取点的平方根3中得到的值。(本例中省略了这一步。)

在我尝试累积所有差异的总和之前,一切都像魅力一样工作(即执行上述过程的第 3 步,下面代码的第 49 行)。

作为测试数据,我使用的是 DescriptorLists,每个点有 2 个点: DescriptorList1: 001,002,003,...,127,128; (p1) 129,130​​,131,...,255,256; (p2)

描述符列表2:000,001,002,...,126,127;(p1) 128,129,130​​,...,254,255;(p2)

所以生成的向量应该具有以下值:128、2064512、2130048、128 现在我得到的随机数随每次运行而变化。

对于我做错的事情,我很感激任何帮助或线索。希望一切都清楚我正在工作的场景。

0 投票
1 回答
588 浏览

java - Java 中的 OpenCL 有多原生?

我看到有一个用于 Java 的 OpenCL 绑定。这是否使人们能够真正使用 Java 进行编程,使用 CPU / GPU 等作为处理核心,还是仅仅让 Java 应用程序访问启用 C++ OpenCL 的方法?

出于兴趣,.Net 是否有 OpenCL 绑定?

0 投票
1 回答
481 浏览

memory - 在 OpenCL 中 atom_inc 之后从 __global 内存读取时出现问题

OpenCL 没有会停止所有线程的全局屏障,因此我正在尝试使用以下代码创建一个解决方法:

这个想法是每个线程循环,直到它们都增加那一块内存。

但是,从头[0] 读取的值一旦被读取就永远不会改变线程,并且它会永远循环。我知道它正在递增,因为当我将它读回主机时它是正确的值。

全局内存是否在本地缓存?这里发生了什么?

0 投票
5 回答
17869 浏览

memory-management - 使用 clCreateBuffer + CL_MEM_COPY_HOST_PTR 与 clCreateBuffer + clEnqueueWriteBuffer 创建缓冲区对象有什么区别?

我在教程中看过这两个版本,但我不知道它们的优缺点是什么。哪一个是合适的?

对比

谢谢。

[更新]

我添加CL_MEM_COPY_HOST_PTR,到第二个示例以使其正确。

0 投票
5 回答
47436 浏览

cuda - 什么是银行冲突?(做 Cuda/OpenCL 编程)

我一直在阅读 CUDA 和 OpenCL 的编程指南,但我无法弄清楚银行冲突是什么。他们只是深入研究如何解决问题,而没有详细说明主题本身。有人可以帮我理解吗?如果帮助是在 CUDA/OpenCL 的上下文中,或者只是计算机科学中的一般银行冲突,我没有偏好。

0 投票
3 回答
7269 浏览

cuda - 为什么 Cuda/OpenCL 的全局内存中没有银行冲突?

我还没有弄清楚并且谷歌没有帮助我的一件事是,为什么可能与共享内存发生银行冲突,但在全局内存中却没有?银行与寄存器会发生冲突吗?

更新 哇,我真的很感谢 Tibbit 和 Grizzly 的两个答案。看来我只能给一个答案打一个绿色的复选标记。我对堆栈溢出很陌生。我想我必须选择一个答案作为最佳答案。我可以做些什么来感谢我不给绿色检查的答案吗?