OpenCL CPU上的最大内存分配

6
我了解到,设备内存的最大内存分配限制约为60%,可以通过修改GPU的GPU_MAX_HEAP_SIZE和GPU_MAX_ALLOC_SIZE环境变量来更改这些限制。
我想知道如果我想提高内存分配限制,AMD SDK是否有类似CPU的东西?
对于我的当前配置,它返回以下内容:
CL_DEVICE_MAX_MEM_ALLOC_SIZE = 2973.37MB
CL_DEVI_CEGLOBAL_MEM_SIZE = 11893.5MB
谢谢。

1
默认情况下,它是25%。显然,CPU_MAX_HEAP_SIZE“根本不受支持”,这有点奇怪...如果您正在使用英特尔CPU,则可以尝试英特尔OpenCL SDK,该SDK具有执行此操作的能力,如果我没记错的话。 - Thomas
1个回答

2

我能够在我的系统上更改这个设置。我不知道当您最初提出问题时是否可以使用此方法。

将环境变量“CPU_MAX_ALLOC_PERCENT”设置为您想要为单个全局缓冲区分配的总内存百分比。我有8GB的系统内存,在将CPU_MAX_ALLOC_PERCENT设置为80之后,clinfo报告如下:

Max memory allocation:                         6871207116

成功!6.399GB

您也可以使用相同的方法在GPU设备上使用GPU_MAX_ALLOC_PERCENT。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接