gpt4 book ai didi

c++ - clCreateBuffer() 永远不会失败

转载 作者:太空宇宙 更新时间:2023-11-04 08:03:02 25 4
gpt4 key购买 nike

打算为我的算法使用所有可用的 GPU 内存,因此检索它的数量:

clGetDeviceInfo( ..., CL_DEVICE_GLOBAL_MEM_SIZE, ... );

这是 536543232 字节,然后在 GPU 上分配它:

clCreateBuffer( gpuContext, CL_MEM_READ_WRITE, 536543232, NULL, & errcode_ret );

想知道为什么它可以工作,如果尝试分配更多内存它是否会失败?尝试了 100 场演出,它仍然有效!

clCreateBuffer( gpuContext, CL_MEM_READ_WRITE, 100000000000, NULL, & errcode_ret );

所以问题是为什么它可以在指定的任何内存量下工作?

最佳答案

如果 OpenCL 平台具有惰性内存分配(几乎每个平台都这样做),我可能会发生这种情况。我猜某些 OpenCL 平台只是检查您请求的内容是否可以在 clCreateBuffer 上分配,而您的平台可能不会。您可能会在实际使用您的缓冲区的第一个 OpenCL 函数上遇到错误,例如 clEnqueueWriteBuffer() 等。您的 OpenCL 平台是什么?

关于c++ - clCreateBuffer() 永远不会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44683163/

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