gpt4 book ai didi

opencl - OpenCL 本地内存有限制吗?

转载 作者:行者123 更新时间:2023-12-04 02:40:12 31 4
gpt4 key购买 nike

今天我又加了四个 __local变量到我的内核以转储中间结果。但是只需将另外四个变量添加到内核的签名并添加相应的内核参数就会将内核的所有输出呈现为“0”。没有一个 cl 函数返回错误代码。

我进一步尝试只添加两个较小的变量之一。如果我只添加其中一个,它可以工作,但是如果我添加它们两个,它就会崩溃。

OpenCL 的这种行为是否意味着,我分配了很多 __local内存?我怎么知道,多少钱__local我可以使用内存吗?

最佳答案

可以使用 CL_DEVICE_LOCAL_MEM_SIZE 查询设备在其每个计算单元上提供的本地内存量。带有 clGetDeviceInfo 的标志功能:

cl_ulong size;
clGetDeviceInfo(deviceID, CL_DEVICE_LOCAL_MEM_SIZE, sizeof(cl_ulong), &size, 0);

返回的大小以字节为单位。每个工作组都可以严格为自己分配这么多内存。但是请注意,如果它确实分配了最大值,这可能会阻止在同一计算单元上同时调度其他工作组。

关于opencl - OpenCL 本地内存有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237181/

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