Seamless Multicore Parallelism in MATLAB
Résumé
MATLAB is a popular mathematical framework composed of a built-in library implementing a significant set of com-monly needed routines. It also provides a language which allows the user to script macro calculations or to write com-plete programs, hence called "the language of technical computing". So far, a noticeable effort is maintained in order to keep MATLAB being able to cooperate with other standard programming languages or tools. However, this interoperability, which is essential in many circumstances including performance and portability, is not always easy to implement for ordinary scientists. The case of parallel computing is illustrative and needs to be addressed as mul-ticore machines are now standard. In this work, we report our efforts to provide a framework that allow to intuitively express and launch parallel executions within a classical MATLAB code. We study two alternatives, one which is a pure MATLAB solution based on the MATLAB parallel computing toolbox, and another one which implies a sym-metric cooperation between MATLAB and C, based on the Pthread library. The later solution does not requires the MATLAB parallel toolbox, thus clearly brings a portability benefit and makes the move to parallel computing within MATLAB less costly to standard users. Experimental re-sults are provided and commented in order to illustrate the use and the efficiency of our solution.
Domaines
Parallélisation
Origine : Fichiers produits par l'(les) auteur(s)
Loading...