在GPU上允许增加最大可变尺寸(MATLAB)

在未能解决我的MEX代码中的内存泄漏问题之后,我尝试将代码编写成与MATLAB提供的示例类似(不幸的是,在MEX中只有一个使用CUDA的示例),但是出现错误 - 当我尝试这样做时,“设备上允许的最大变量大小已超出”:

mxGPUArray * tmp = mxGPUCreateGPUArray(4,
                        rSize,
                        mxDOUBLE_CLASS,
                        mxREAL,
                        MX_GPU_INITIALIZE_VALUES);

rSize打印了rSize (它定义了rSize的尺寸),并且我尝试了在Matlab中使用完全相同的大小分配一个gpuArray (使用gpuArray.zeros(...) ),没有任何问题。

我已经尝试预先分配必要的空间,并修改其中一个rhs变量的值,但由于内存泄漏很小(但存在问题),我试图使代码尽可能类似于代码不会造成内存泄漏。

有谁知道如何解决这个问题? 有什么方法可以改变这个限制吗?

链接地址: http://www.djcxy.com/p/29279.html

上一篇: Increasing maximum variable size allowed on GPU (MATLAB)

下一篇: Maximum variable size allowed by the program is exceeded