gpt4 book ai didi

c - OpenCL 2.0 - 错误 : function "work_group_reduce_add" declared implicitly

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:26 24 4
gpt4 key购买 nike

我在使用以下内核代码执行 OpenCL 代码(使用 AMD-APP SDK v3.0 编译)时遇到问题:

__kernel void sumGPU ( __global const int *input, 
__global int *sum )
{
uint local_id = get_local_id(0);
uint group_size = get_local_size(0);
uint global_id = get_global_id(0);

uint res = input[global_id];

// workgroup reduction (introduced in OpenCL 2.0)
res = work_group_reduce_add(res);

// atomic reduce in global memory
if (local_id == 0)
atomic_add(sum, res);
}

这用于计算所有数组元素的总和。

我收到以下错误:

CL Compilation failed:
"/tmp/OCL32344T1.cl", line 11: error: function "work_group_reduce_add"
declared implicitly
res = work_group_reduce_add(res);
^

1 error detected in the compilation of "/tmp/OCL32344T1.cl".
Frontend phase failed compilation.
Aborted

似乎缺少 work_group_reduce_add 的原型(prototype),但我无法在 OpenCL 2.0 (CL/cl.h) 中找到它。

谁能看出哪里出了问题?谢谢

最佳答案

为了在您的内核中使用 OpenCL 2.0 功能,您需要通过 clBuildProgram-cl-std=CL2.0 标志传递给编译器。

关于c - OpenCL 2.0 - 错误 : function "work_group_reduce_add" declared implicitly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35531438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com