2012-10-16 49 views
6

我讀過最大內存分配限制爲設備內存的60%左右,可以通過修改GPU的GPU_MAX_HEAP_SIZEGPU_MAX_ALLOC_SIZE環境變量來更改這些限制。openCL CPU上的最大內存分配

如果我想提高內存分配的限制,我不知道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,即iirc。 – Thomas

回答

2

我能夠在我的系統上進行更改。當您最初提出問題時,我不知道這種方法是否可行。

將環境變量'CPU_MAX_ALLOC_PERCENT'設置爲您希望能夠爲單個全局緩衝區分配的總內存的百分比。我有8GB的系統內存,並設置CPU_MAX_ALLOC_PERCENT到80後,clinfo報告如下:

Max memory allocation:       6871207116 

成功! 6.399GB

您也可以使用GPU_MAX_ALLOC_PERCENT以相同的方式用於GPU設備。