gpt4 book ai didi

c - 普通的指针算术可以在 opencl 内核上工作吗?

转载 作者:行者123 更新时间:2023-11-30 16:59:18 24 4
gpt4 key购买 nike

例如,这段代码能否正常编译并执行?

int* end = local_buffer + BUFFER_SIZE;
for(int* x = local_buffer; x < end; ++x)
{
...
}

最佳答案

指针算术确实有效,但您需要使用适当的内存空间来注释指针。因此,您的示例代码很可能是错误的:如果 local_buffer 声明为

local int local_buffer[BUFFER_SIZE];

那么 endx 变量的类型必须也具有 local 说明符:

local int* end = …;
for (local int* x = …

默认值为全局,如果您的指针指向本地或常量内存,这将导致事情严重失败。我发现许多 OpenCL 实现不会就此发出警告,因此您必须非常小心。

关于c - 普通的指针算术可以在 opencl 内核上工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38216611/

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