问题标签 [opencl-c++]

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 回答
280 浏览

c++ - 我可以为 nVIDIA GPU 编写 OpenCL-C++ 内核吗?

在过去的几年里,Khronos 联盟发布了 OpenCL 规范的版本,其中不仅包括C 变体OpenCL 编程语言,还包括C++ 变体

是否可以使用最新版本的 CUDA 和相关工具编写此类针对 nVIDIA GPU 的类 C++ 内核?NVIDIA OpenCL 示例似乎有些过时且仅限 C。

0 投票
1 回答
70 浏览

c++ - 对 OpenCL 1.2 的支持会结束吗?

NVIDIA 仍然不支持 OpenCL 2.0,尽管规范已经很老了。在 2020 年编写新应用程序时,是否建议以 OpenCL 1.2 为目标,以便尽可能继续利用 NVIDIA GPU?

我应该担心定位太旧的版本吗?我可以指望 NVIDIA 以外的制造商继续支持 OpenCL 1.2 吗?

2020 年编写的生产代码的标准是什么?

0 投票
1 回答
261 浏览

macos - OpenCl.framework Mac OS Mojave 中的 Missed Headers 文件夹

我正在尝试在我的 MacBook 上使用 OpenCl 框架,并且 Mac OS 已经安装了该框架,但是没有我想要使用的头文件 cl.hpp。我已经从 Khronos OpenCL Registry 下载了标头,但现在我不知道将其粘贴到哪里,因为 /System/Library/Frameworks/OpenCL.framework/ 中没有 Headers 文件夹,我试图找到当前的标头(cl. h) 在终端中查找,但不成功。我能做些什么?

0 投票
1 回答
45 浏览

c++ - OpenCL 字符限制

的两个实现printsomestuff最多只能写入 res[7] (即:WORLD!\0!ELLOWO\0

主.cpp:

my_kernels.cl

0 投票
1 回答
46 浏览

c++ - 如何将大数组复制到内存并在 OpenCL 内核中使用?

我有一个 uint8_t 数组。数组的大小约为 2.000.000。我需要对这些值进行一些计算,但是在我调用内核并将修改后的值复制回来之后,它只返回零。

我正在创建数组,“行”和“列”是 int。

我正在创建 cl_mem 对象并将数组数据复制到其中。

像这样设置内核参数。

将修改后的数组读回主机。

内核签名如下所示:

有人可以帮忙吗,我错过了什么?

0 投票
1 回答
361 浏览

c++ - OpenCL 中的图像灰度

我想将 RGB 图像转换为灰度图像。

当我复制回内核返回零的数据时,我的问题。

OpenCL 代码:

主机代码:

clEnqueueReadBuffer我将值写入控制台之后,它全为零。我的 outputImg 在以下声明中是这样的main

并用这个调用方法:

0 投票
1 回答
48 浏览

c++ - OpenCL-HPP setDefault 崩溃

这是我试图运行和理解的一段代码。但它在 setDefault 函数中有一个尴尬的错误。

代码:

错误:

/home/BLA/CLionProjects/OpenCL_HPP/cmake-build-debug/OpenCL_HPP 在抛出“std::system_error”实例后调用
什么():未知错误-1

进程以退出代码 134 结束(被信号 6 中断:SIGABRT)

错误来自 call_once 函数,据我了解,这应该是 pThread 库的一部分,但所有这些都会干扰 stdlib。如我错了请纠正我。

我运行它的机器是 Ubuntu 16.04,Opencl 来自 Intel,我没有安装任何其他 OpenCL 驱动程序(例如用于 GPU)。此代码是 OpenCL-HPP doxygen 中的主要绑定示例。

我想知道,有没有办法纠正这个问题。OpenCL-HPP 是否使用 Pthread 库或 STD 库进行链接?

0 投票
2 回答
53 浏览

opencl - OpenCl 是库还是编译器?

我开始学习 OpenCl。我阅读了这些链接:

但我不太了解 OpenCl 是通过在源代码中包含头文件的库,还是使用 OpenCl C 编译器的编译器?!

0 投票
0 回答
13 浏览

c++ - 使用 getProfilingInfo const 方法作为 event.getProfilingInfo() 在我们的代码中?

也许这是一个愚蠢的问题,但我真的很困惑。在使用 Opencl c++ 包装函数、类等时,我也感到很不舒服。在 khronos 网站的 OpenCL c++ 绑定中解释它们的方式以及我们在代码中使用它们的方式对我来说看起来如此不同。例如,在事件类中函数 getProfilingInfo(...) 方法的 OpenCL C++ 绑定中解释为“cl_int getProfilingInfo (cl_profiling_info name, T *param) const”,但在我使用它的代码中,我必须将其用作event.getProfilingInfo<CL_PROFILING_COMMAND_END>() 以获取该实例的时间。我的问题是为什么我不应该将它用作 event.getProfilingInfo(CL_PROFILING_COMMAND_END,...)?

这是类事件和方法的网站:https ://github.khronos.org/OpenCL-CLHPP/classcl_1_1_event.html

0 投票
1 回答
54 浏览

opencl - 如何在 3d OpenCl 内核中访问不同维度的索引?

我对openCL完全陌生。我试图将顺序 3d 矩阵代码转换为 3d 矩阵的 openCL 版本。我已经实现了 openCL 的基本功能,但被困在 OpenCL 内核中。我得到了 3d 矩阵的所有索引,但不明白如何访问不同维度的索引。任何人都可以帮助我吗?

也欢迎您向我提出解决此问题的更好方法。提前致谢。

这是我的代码的一小部分。

顺序代码:

OpenCL 内核代码:

顺序代码输出:

编辑: 如果我们想用其他索引值更新特定索引怎么办。 例如:

我试过这样(内核代码):