Can Matlab Coder suport parallel computing toolbox
2 views (last 30 days)
Show older comments
Hi, I want to develop a parallel application using the parallel computing toolbox. I am wondering if I can convert the application using Matlab Coder for C/C++ and MATLAB Builder JA (for Java language)?
0 Comments
Answers (3)
Ryan Livingston
on 21 Jan 2013
As of R2012b MATLAB Coder does offer support for PARFOR code generation with MEX targets only:
There are some requirements on the compiler:
Also, MATLAB Compiler and the Builder products support PCT in the general MATLAB paradigm:
0 Comments
Walter Roberson
on 20 Jan 2013
No. See http://www.mathworks.com/help/coder/functions-supported-for-code-generation.html?s_tid=doc_12b
Basically if the functionality cannot be compiled into pure ISO/IEC 9899:1999 (known as C99) -- without POSIX.1 -- then MATLAB Coder probably cannot generate it. C99 has no parallel processing capacity.
POSIX.1, the Portable Operating System Interface standard, defines an optional extension, POSIX Threads. But that is not part of C itself, and MATLAB Coder does not know how to code for it. Also, the POSIX Threads model does not really match the programming model used for any of the Parallel Computing Toolbox facilities: MATLAB's facilities are closer to what is provided by POSIX.1b Message Passing, together with some mechanism for creating the additional processes (possibly even just fork())
That said, I do not know what the Simulink Coder with Embedded Coder extensions is able to do, but MATLAB Coder does not support PCT.
0 Comments
Bill Chou
on 29 Jan 2013
If you are going to run the application in MATLAB, you can consider creating MEX files for your application, and then deploy them to different MATLAB Workers using Parallel Computing Toolbox. This will enable you to use as many cores on your machine as you allow.
0 Comments
See Also
Categories
Find more on Simulink Coder in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!