International Journal of Parallel Programming

, Volume 37, Issue 1, pp 3–36

MATLAB®: A Language for Parallel Computing

Open Access
Article

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.

Keywords

Parallel MATLAB Parallel language design Parallel Computing Toolbox 

References

  1. 1.
    Travinin Bliss N., Kepner J.: pMatlab parallel Matlab library. Int. J. High Perform. Comput. Appl. 21(3), 336–359 (2007). doi:10.1177/1094342007078446 CrossRefGoogle Scholar
  2. 2.
    Kepner J.: MatlabMPI. J. Parallel Distrib. Comput. 64(8), 997–1005 (2004). doi:10.1016/j.jpdc.2004.03.018 MATHCrossRefGoogle Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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 2007Google Scholar
  5. 5.
    Moler, C.: Why isn’t There a Parallel MATLAB. The MathWorks Newsletter, Spring 1995Google Scholar
  6. 6.
    Jacobson P., Kågström B., Rännar M.: Algorithm development for distributed memory multicomputers using CONLAB. Sci. Prog. 1, 185–203 (1992)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Release Notes: MATLAB Compiler (version 4.0), The MathWorks (2004)Google Scholar
  9. 9.
    Husbands, P., Isbell, C.: Matlab*p: a tool for interactive supercomputing. In: The Ninth SIAM Conference on Parallel Processing for Scientific Computing (1999)Google Scholar
  10. 10.
    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 2006Google Scholar
  11. 11.
    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
  12. 12.
    Lurie, R.: Language Design for Uncertain Future. HPCwire, September 2007Google Scholar
  13. 13.
    Mani Chandy K., Misra J., Haas L.M.: Distributed deadlock detection. ACM Trans. Comput. Syst. 1(3), 145–156 (1983)Google Scholar
  14. 14.
    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
  15. 15.
    HPF Language Specification, Version 2.0, 31 January 1997Google Scholar
  16. 16.
    Numrich, R.W., Reid, J.K.: Co-array FORTRAN for parallel programming. FORTRAN Forum 17(2), (1998)Google Scholar
  17. 17.
    User Manual, Cluster OpenMP*, Intel Corporation, 2005–2006.Google Scholar
  18. 18.
    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 CrossRefGoogle Scholar
  19. 19.
    Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J.: Parallel Programming in OpenMP. Morgan Kaufmann, Mosby (2000)Google Scholar
  20. 20.
    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 2007Google Scholar
  21. 21.
    Kepner, J.: Programming with MatlabMPI, Web documentation, URL: www.ll.mit.edu/MatlabMPI
  22. 22.
    Moler, C.: Parallel MATLAB: Multiple processors and multiple cores, The MathWorks News and Notes, June 2007Google Scholar

Copyright information

© The Author(s) 2008

Authors and Affiliations

  1. 1.The MathWorksNatickUSA
  2. 2.The MathWorks Ltd.CambridgeUK

Personalised recommendations