Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
Is there a data size limited in the mex of cell format?
조회 수: 1 (최근 30일)
이전 댓글 표시
I am trying to pass some large cell arrays from mex to Matlab. I found it may stuck Matlab if the output cell array is large. Is there a limitation of cell format capacity? I know little knowledge of it. Do I use the cell format in wrong way? Any suggestion would be appreciated.
Here is an example.
In matlab
r = test1((ones(1e8,1)));% matlab crash or stuck
The cu file to build mex.
%% test1.cu
void mexFunction(int nlhs, mxArray * plhs[], int nrhs, const mxArray * prhs[])
{
mxInitGPU();
mxGPUArray const *a0 = mxGPUCreateFromMxArray(prhs[0]);
double *d_a0 = (double*)mxGPUGetDataReadOnly(a0);
int K = 1;
prhs[0] = mxCreateCellMatrix(K,1);
mxArray * R;
for(int i = 0;i<K;i++)
{
R = mxGPUCreateMxArrayOnCPU(a0);
mxSetCell(RESULT,i,R);
}
mxGPUDestroyGPUArray(a0);
mxDestroyArray(R);
}
If I output the result without cell, like below.
r = test2((ones(1e8,1))); % good
%% test2.cu
void mexFunction(int nlhs, mxArray * plhs[], int nrhs, const mxArray * prhs[])
{
mxInitGPU();
mxGPUArray const *a0 = mxGPUCreateFromMxArray(prhs[0]);
double *d_a0 = (double*)mxGPUGetDataReadOnly(a0);
plhs[0] = mxGPUCreateMxArrayOnCPU(a0);
mxGPUDestroyGPUArray(a0);
}
댓글 수: 1
답변 (0개)
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!