问题标签 [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.
opencl - 如何简化此 OpenCL 内核代码?
从代码中可以看出,如果我可以这样写,那就太好了:
但当然,OpenCL 不允许将上述代码中描述的索引符号与向量类型一起使用。
我能做些什么来解决这个问题吗?
c++ - 如何将类中的指针传递给opencl c ++中的内核并获取指针数据
我正在使用的平台是 AMD radeon 200 系列(蓝宝石 250(GPU-Oland)我正在主机上创建一个类,将指针作为数据成员,并且在内核端也有相同的类。现在如果在内核端,指针存在于类,生成错误(-11)出现。如果我们在内核端删除指针,代码会构建。在那里,指针值被复制到全局指针,取消引用的值为零。
我的主要目标是访问设备端类中的指针。
AMD SDK-3.0 opencl c++ 1.2版
任何帮助,将不胜感激。
内核代码是
opencl - 如何在 OpenCL 中累积向量?
我有一组循环运行的操作。
现在我正在尝试对这样的操作进行矢量化
但是如何在sum
不使用循环的情况下在标量中累积结果向量?
我正在使用 OpenCL 2.0。
opencl - 如何将数组传递给 OpenCL 内核?
我有一个要传递给 OpenCL 内核的数组。我的部分代码是
上面的代码编译但在运行时崩溃。请让我知道我在这里做错了什么。
我正在使用 OpenCL 2.0。
opencl - 预处理器指令会影响 OpenCL 内核性能吗?
如果我在内核中使用 , 等预处理器指令#if
,#elif
它会以任何方式影响性能吗?我假设这些条件在编译时就已经解决了。
opencl - 在 OpenCL 中使用 convert_T() 进行显式转换有多昂贵?
关于这个问题,向量化操作获得的性能增益是否可能被使用 convert_T() 的显式转换所抵消?请注意,变量的默认类型是unsigned char
. 我正在使用 OpenCL 2.0。我的 GPU 是 Intel HD Graphics 530 (Gen9)。
它会在convert_int4()
和之间产生影响convert_short4()
吗?
opencl - 在 OpenCL 中哪个更有效:if 条件或 for 循环?
我有一段这样的 OpenCL 代码
为了减少逻辑,我重写了这样的代码
但是,在第二种情况下,延迟增加了大约 20%。任何人都可以对这种行为提供任何见解吗?编码风格是否if conditions
比for loops
OpenCL 更高效?
我正在使用英特尔 530 (Gen9) GPU。我正在使用内存映射访问。
c - 如何在 Linux (ubuntu 16.04) 上运行 OpenCL 程序?
我正在尝试自己学习 OpenCL,而我才刚刚开始。现在我正在阅读这本书 OpenCL In Action。我已经在我的文件中复制了一个测试代码,但我无法掌握如何运行该代码。也就是说,我该如何编译它?在 C 语言中,我们使用 gcc 来获取我们可以运行的文件。但是在使用 C 的 OpenCL 中,我被卡住了。
在如何实际编译的背后找不到任何具有明确信息和逻辑的地方。
这是我要运行的代码:
multithreading - 如何使用 intel_sub_group_block_read 分发数据读取跨OpenCL列主要顺序的子组中的工作项?
我的带有矢量化的 OpenCL 代码是这样的
现在我正在尝试使用带有块读取的英特尔 OpenCL 子组扩展来重写上述逻辑。
在这里,我正在阅读 2 块,每块 8 行,类型为uint
. 在进行类型转换时,uchar
我得到 2 个 8x4 数据块,这实际上是一个 8x8uchar
类型数据块。但上述方法的问题在于,它将创建具有行主要顺序的数据的工作项。因此,如果我尝试进行类似的计算m[0] = x0 + x4
,则不可能x0
并且x4
将在不同的工作项中。所以我能想到的唯一另一种方法是在工作项中按列主要顺序存储数据。因此,我将使用垂直线程而不是水平线程。但我不知道该怎么做。
gcc - 编译 OpenCL 应用程序和使用可用编译器选项的正确方法
我是 OpenCL 方面的新手。
编译 OpenCL 项目的最佳方法是什么?
使用支持的编译器(
GCC
或Clang
):当我们使用类似
gcc
or的编译器时clang
,我们如何控制这些选项?它们是否必须在源代码中设置,或者像正常的编译流程一样,我们可以在命令行上传递它们。查看Khornos-Manual-1.2,options
提供了一些cl_int clBuildProgram
用于优化的内容。:实际上,我试过这个并收到一个错误:
/li>或者,使用
openclc
:我见过人们使用Makefile
openclc
来编译器。
我想知道哪种方法最好(如果实际上有两种不同的方法),以及我们如何控制不同编译时选项的使用。