memory allocated with mxMalloc

Suppose within an m-file I use a mex file to allocate persistent memory using mxMalloc and mxMakeMemoryPersistent.
When the mex file returns, I then start a batch job and pass the pointer returned by the mex file to the batch job.
Will the batch job be able to access this memory?
More info: A GUI is used to control hardware components which write to the mxMalloc'ed memory block, I would like the batch job to save the data written there in parallel. Don't worry, synchronization will be taken care of.

3 件のコメント

Peter Li
Peter Li 2011 年 9 月 20 日
Interesting question; I don't have experience with MakeMemoryPersistent, but my intuition is that this will work. You are passing the pointer out and back in as a long or something?
rick
rick 2011 年 9 月 20 日
yes, my confusion arises with the matlab memory manager, I couldn't find any documentation as to how it manages multiple matlab processes, i.e. does each process have its own address space managed by separate managers or does one memory manager take care of all processes...thereby allowing memory to be shared (if it was 'smart' and realized a pointer to allocated memory was being passed to another process)
Peter Li
Peter Li 2011 年 9 月 23 日
Ah sorry, I didn't realize this was specific to interprocess calls. In that case Edric's suggestion sounds like the way to go.

サインインしてコメントする。

 採用された回答

Edric Ellis
Edric Ellis 2011 年 9 月 20 日

0 投票

Do you mean a 'batch job' created using the BATCH function in Parallel Computing Toolbox? If so, then no, the workers executing the batch job will not have access to the memory as they run in a completely separate MATLAB process.
You might wish to check out 'sharedmatrix' from the File Exchange:

1 件のコメント

rick
rick 2011 年 9 月 20 日
That's what I was thinking, however I couldn't find documentation on how separate matlab processes were handled by the memory manager. Unfortunately it seems that at the moment Matlab's pct is only setup for simple parallelism.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB Compiler についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by