Can Matlab Coder suport parallel computing toolbox
Mostrar comentarios más antiguos
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)?
Respuestas (3)
Ryan Livingston
el 21 de En. de 2013
1 voto
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:
Walter Roberson
el 20 de En. de 2013
0 votos
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.
Bill Chou
el 29 de En. de 2013
0 votos
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.
Categorías
Más información sobre Simulink Coder en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!