Abstract
Parallel computing with the MATLAB® language and environment has received interest from various quarters. The Parallel Computing ToolboxTM and MATLAB® Distributed Computing ServerTM from The MathWorks are among several available tools that offer this capability. We explore some of the key features of the parallel MATLAB language that these tools offer. We describe the underlying mechanics as well as the salient design decisions and rationale for certain features in the toolset. The paper concludes by identifying some issues that we must address as the language features evolve.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Travinin Bliss N., Kepner J.: pMatlab parallel Matlab library. Int. J. High Perform. Comput. Appl. 21(3), 336–359 (2007). doi:10.1177/1094342007078446
Kepner J.: MatlabMPI. J. Parallel Distrib. Comput. 64(8), 997–1005 (2004). doi:10.1016/j.jpdc.2004.03.018
Trefethen, A.E., Menon, V.S., Chang, C., Czajkowski, G., Myers, C., Trefethen, L.N.: Multimatlab: MATLAB on Multiple Processors. Technical Report, UMI Order Number: TR96-1586, Cornell University (1996)
Hudak, D.E., Ludban, N., Gadepally, V., Krishnamurthy, A.: Developing a computational science IDE for HPC systems. In: Proceedings of the 3rd International Workshop on Software Engineering for High Performance Computing Applications, International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 20–26 May 2007
Moler, C.: Why isn’t There a Parallel MATLAB. The MathWorks Newsletter, Spring 1995
Jacobson P., Kågström B., Rännar M.: Algorithm development for distributed memory multicomputers using CONLAB. Sci. Prog. 1, 185–203 (1992)
DeRose, L., Gallivan, K., Gallopoulos, E., Marsolf, B., Padua, D.: FALCON: a MATLAB interactive restructuring compiler. In: Languages and Compilers for Parallel Computing, pp. 269–288. Springer-Verlag, New York (1995)
Release Notes: MATLAB Compiler (version 4.0), The MathWorks (2004)
Husbands, P., Isbell, C.: Matlab*p: a tool for interactive supercomputing. In: The Ninth SIAM Conference on Parallel Processing for Scientific Computing (1999)
Panuganti, R., Baskaran, M.M., Hudak, D., Krishnamurthy, A., Nieplocha, J., Rountev, A., et al.: GAMMA: Global Arrays Meets MATLAB. Technical Report OSU-CISRC-1/06-TR15, The Ohio State University, January 2006
Hollingsworth, J., Liu, K., Pauca, P.: Parallel Toolbox for MATLAB PT v. 1.00: Manual and Reference Pages. Wake Forest University (1996). URL: www.mthcsc.wfu.edu/pt/pt.html
Lurie, R.: Language Design for Uncertain Future. HPCwire, September 2007
Mani Chandy K., Misra J., Haas L.M.: Distributed deadlock detection. ACM Trans. Comput. Syst. 1(3), 145–156 (1983)
Carlson, B., El-Ghazawi, T., Numrich, R., Yelick, K.: Programming in the Partitioned Global Address Space Model. Tutorial at Supercomputing 2003, November 2003. URL: http://www.gwu.edu/~upc/tutorials/tutorials_sc2003.pdf
HPF Language Specification, Version 2.0, 31 January 1997
Numrich, R.W., Reid, J.K.: Co-array FORTRAN for parallel programming. FORTRAN Forum 17(2), (1998)
User Manual, Cluster OpenMP*, Intel Corporation, 2005–2006.
Chamberlain B.L., Callahan D., Zima H.P.: Parallel programmability and the chapel language. Int. J. High Perform. Comput. Appl. 21(3), 291–312 (2007). doi:10.1177/1094342007078442
Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J.: Parallel Programming in OpenMP. Morgan Kaufmann, Mosby (2000)
Allen, E., Chase, D., Hallett, J., Luchangco, V., Maessen, J.-W., Ryu, S., Steele, G.L., Jr., Tobin-Hochstadt, S.: The Fortress Language Specification, Version 1.0 β, Sun Microsystems, Inc., 6 March 2007
Kepner, J.: Programming with MatlabMPI, Web documentation, URL: www.ll.mit.edu/MatlabMPI
Moler, C.: Parallel MATLAB: Multiple processors and multiple cores, The MathWorks News and Notes, June 2007
Acknowledgments
We would like to acknowledge the contributions of the parallel language design team members at The MathWorks who simplified the esoteric details for the purposes of this paper, particularly Penny Anderson, Edric Ellis, Mike Karr and Brett Baker. We would also like to thank Cleve Moler, Chief Scientist and cofounder of The MathWorks, for being our fiercest critic.
Open Access
This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution,and reproduction in any medium, provided the original author(s) and source are credited.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License (https://creativecommons.org/licenses/by-nc/2.0), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Sharma, G., Martin, J. MATLAB®: A Language for Parallel Computing. Int J Parallel Prog 37, 3–36 (2009). https://doi.org/10.1007/s10766-008-0082-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-008-0082-5