3

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

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

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

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

有谁知道如何解决这个问题?有没有办法改变这个限制?

4

0 回答 0