Matlab Engine Array Transfer Size Limitation
이전 댓글 표시
I am using engGetVariable() to transfer an mxArray from the Matlab Engine to my C++ program. The documentation says: "The limit for the size of data transferred is 2 GB."
Why is this limitation present? Is there a way to increase it without breaking up the array into separate arrays? I need to transfer large arrays, potentially up to 256GB.
I like the simplicity of the Matlab Engine, so I would rather avoid having to break up, transfer, and re-assemble large arrays.
댓글 수: 3
James Tursa
2015년 11월 11일
256GB is a lot of memory to copy. Have you considered a mex routine instead, so you can avoid the copy altogether?
Walter Roberson
2015년 11월 11일
You can use MPI with MATLAB. One use of it is specifically documented; see http://www.mathworks.com/help/mdce/use-different-mpi-builds-on-unix-systems.html
For an example of someone using MPI see http://www.mathworks.com/matlabcentral/newsreader/view_thread/308346
답변 (1개)
Walter Roberson
2015년 11월 11일
0 개 추천
The 2 Gb limit is for compatibility with 32 bit versions of MATLAB.
카테고리
도움말 센터 및 File Exchange에서 Parallel Computing에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!