{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,30]],"date-time":"2025-10-30T06:56:27Z","timestamp":1761807387228,"version":"3.38.0"},"reference-count":29,"publisher":"SAGE Publications","issue":"3","license":[{"start":{"date-parts":[[2007,8,1]],"date-time":"2007-08-01T00:00:00Z","timestamp":1185926400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2007,8]]},"abstract":"<jats:p> MATLAB\u00ae has emerged as one of the languages most commonly used by scientists and engineers for technical computing, with approximately one million users worldwide. The primary benefits of MATLAB are reduced code development time via high levels of abstractions (e.g. first class multi-dimensional arrays and thousands of built in functions), interpretive, interactive programming, and powerful mathematical graphics. The compute intensive nature of technical computing means that many MATLAB users have codes that can significantly benefit from the increased performance offered by parallel computing. pMatlab provides this capability by implementing parallel global array semantics using standard operator overloading techniques. The core data structure in pMatlab is a distributed numerical array whose distribution onto multiple processors is specified with a \u201cmap\u201d construct. Communication operations between distributed arrays are abstracted away from the user and pMatlab transparently supports redistribution between any block-cyclic-overlapped distributions up to four dimensions. pMatlab is built on top of the MatlabMPI communication library and runs on any combination of heterogeneous systems that support MATLAB, which includes Windows, Linux, MacOS X, and SunOS. This paper describes the overall design and architecture of the pMatlab implementation. Performance is validated by implementing the HPC Challenge benchmark suite and comparing pMatlab performance with the equivalent C+MPI codes. These results indicate that pMatlab can often achieve comparable performance to C+MPI, usually at one tenth the code size. Finally, we present implementation data collected from a sample of real pMatlab applications drawn from the approximately one hundred users at MIT Lincoln Laboratory. These data indicate that users are typically able to go from a serial code to an efficient pMatlab code in about 3 hours while changing less than 1% of their code. <\/jats:p>","DOI":"10.1177\/1094342007078446","type":"journal-article","created":{"date-parts":[[2007,7,19]],"date-time":"2007-07-19T15:49:38Z","timestamp":1184860178000},"page":"336-359","source":"Crossref","is-referenced-by-count":41,"title":["'pMATLAB Parallel MATLAB Library'"],"prefix":"10.1177","volume":"21","author":[{"given":"N.","family":"Travinin Bliss","sequence":"first","affiliation":[{"name":"MIT LINCOLN LABORATORY, 244 WOOD STREET, LEXINGTON, MA 02420"}]},{"given":"J.","family":"Kepner","sequence":"additional","affiliation":[{"name":"MIT LINCOLN LABORATORY, 244 WOOD STREET, LEXINGTON, MA 02420"}]}],"member":"179","published-online":{"date-parts":[[2007,8,1]]},"reference":[{"key":"atypb1","doi-asserted-by":"publisher","DOI":"10.1145\/103135.103138"},{"volume-title":"Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP06)","author":"Bikshandi, G.","key":"atypb2"},{"volume-title":"Parallel Matlab survey","year":"2003","author":"Choy, R.","key":"atypb3"},{"key":"atypb4","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840490"},{"volume-title":"CMTM Cornell multitask toolbox for MATLAB","key":"atypb5"},{"volume-title":"Proceedings of the SIAM Workshop on Object-Oriented Methods and Code Interoperability in Scientific and Engineering Computing (OO98)","author":"Cummings, J.C.","key":"atypb6"},{"volume-title":"Distributed and parallel computing with MATLAB, tutorial presented at Supercomputing 2005","year":"2005","author":"Dean, L.","key":"atypb7"},{"volume-title":"Proceedings of the First Conference on International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE '97)","author":"DeLuca, C.M.","key":"atypb8"},{"key":"atypb9","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1994.1108"},{"key":"atypb10","doi-asserted-by":"publisher","DOI":"10.1002\/0471478369"},{"key":"atypb11","unstructured":"Falcon. Falcon project: Fast array language computation, http:\/\/ www.csrd.uiuc.edu\/falcon\/falcon.html"},{"volume-title":"Proceedings of the High Performance Embedded Computing Workshop (HPEC2005)","author":"Funk, A.","key":"atypb12"},{"volume-title":"Proceedings of 26th International Conference on Software Engineering (ICSE 2004)","key":"atypb13"},{"volume-title":"Proceedings of 27th International Conference on Software Engineering (ICSE 2005)","key":"atypb14"},{"key":"atypb15","doi-asserted-by":"crossref","unstructured":"Kepner, J. (ed.) (2004). \n                    Special issue on HPC productivity\n                , International Journal of High Performance Computing\n                Applications, 18(4).","DOI":"10.1177\/1094342004048533"},{"key":"atypb16","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2004.03.018"},{"key":"atypb17","doi-asserted-by":"publisher","DOI":"10.1063\/1.4823319"},{"key":"atypb18","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840303"},{"key":"atypb19","doi-asserted-by":"crossref","unstructured":"Loveman, D.B.\n                 (1993). High performance Fortran, Parallel and Distributed\n                    Technology: Systems and Applications, \n                    IEEE\n                , 1(1).","DOI":"10.1109\/88.219857"},{"volume-title":"Introduction to the HPC Challenge benchmark suite","year":"2005","author":"Luszczek, P.","key":"atypb20"},{"volume-title":"Distributed computing toolbox user's guide","year":"2005","author":"MathWorks Inc.","key":"atypb21"},{"volume-title":"STREAM: Sustainable memory bandwidth in high performance computers","year":"2005","author":"McCalpin, J.","key":"atypb22"},{"volume-title":"Proceedings of Supercomputing 1998","author":"Morrow, G.","key":"atypb23"},{"key":"atypb24","doi-asserted-by":"publisher","DOI":"10.1145\/289918.289920"},{"volume-title":"Proceedings POOHL'2002 Workshop of ICS-2002","author":"Nieplocha, J.","key":"atypb25"},{"volume-title":"Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation (Frontiers '95)","author":"Ramaswamy, S.","key":"atypb26"},{"volume-title":"Proceedings of High Performance Embedded Computing Workshop (HPEC2004)","author":"Reuther, A.","key":"atypb27"},{"volume-title":"Parallel MATLAB development for high performance computing with RTExpress","author":"RTExpress.","key":"atypb28"},{"key":"atypb29","doi-asserted-by":"publisher","DOI":"10.1109\/CMPCON.1993.289652"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342007078446","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342007078446","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,3]],"date-time":"2025-03-03T04:44:30Z","timestamp":1740977070000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342007078446"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,8]]},"references-count":29,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2007,8]]}},"alternative-id":["10.1177\/1094342007078446"],"URL":"https:\/\/doi.org\/10.1177\/1094342007078446","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"type":"print","value":"1094-3420"},{"type":"electronic","value":"1741-2846"}],"subject":[],"published":{"date-parts":[[2007,8]]}}}