{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/20204"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/20204","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Compiler techniques for MATLAB programs","abstract":"This thesis addresses the issues of translating an interactive array language, such as MATLAB$\\sp1$, into a traditional compiled language, such as Fortran, in order to achieve better performance. It describes the main techniques, developed for our MATLAB-to-Fortran 90 compiler, to extract information from the high-level semantics of MATLAB for the generation of high-performance code. To perform the translation, an inference mechanism is necessary to generate the declarations for a typed language, to select the appropriate functions and operations, and to allocate the necessary space. The inference mechanism developed for this MATLAB-to-Fortran 90 compiler combines static and dynamic inference methods for intrinsic type, shape, rank, and structural inference. This inference is enhanced with value propagation and symbolic-dimension propagation analyses. The experimental results, which compare compiled generated programs with the corresponding interpreted MATLAB execution, show that the compiler can generate code that performs more than 1000 times faster than MATLAB on an SGI Power Challenge, and as fast as the corresponding hand-written Fortran 90 programs. When compared with the performance of C-MEX files generated by the MathWorks MATLAB compiler, we observed that, for our tests, the Fortran 90 programs ran faster than the corresponding C-MEX programs on an SGI Power Challenge and on a Sun SPARCstation 10. This better performance is mainly attributed to our enhanced inference mechanism. ftn$\\sp1$MATLAB is a trademark of The MathWorks, Inc.","abstract_html":"This thesis addresses the issues of translating an interactive array language, such as MATLAB$\\sp1$, into a traditional compiled language, such as Fortran, in order to achieve better performance. It describes the main techniques, developed for our MATLAB-to-Fortran 90 compiler, to extract information from the high-level semantics of MATLAB for the generation of high-performance code. To perform the translation, an inference mechanism is necessary to generate the declarations for a typed language, to select the appropriate functions and operations, and to allocate the necessary space. The inference mechanism developed for this MATLAB-to-Fortran 90 compiler combines static and dynamic inference methods for intrinsic type, shape, rank, and structural inference. This inference is enhanced with value propagation and symbolic-dimension propagation analyses. The experimental results, which compare compiled generated programs with the corresponding interpreted MATLAB execution, show that the compiler can generate code that performs more than 1000 times faster than MATLAB on an SGI Power Challenge, and as fast as the corresponding hand-written Fortran 90 programs. When compared with the performance of C-MEX files generated by the MathWorks MATLAB compiler, we observed that, for our tests, the Fortran 90 programs ran faster than the corresponding C-MEX programs on an SGI Power Challenge and on a Sun SPARCstation 10. This better performance is mainly attributed to our enhanced inference mechanism. ftn$\\sp1$MATLAB is a trademark of The MathWorks, Inc.","abstract_has_math":true,"creators":["De Rose, Luiz Antonio"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Padua, David A."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T12:32:09Z","date_published":"2011-05-07T12:32:09Z","updated_at":"2026-07-22T22:25:15Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1996 De Rose, Luiz Antonio"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["9780591200171","AAI9712420","(UMI)AAI9712420"],"render_values":[{"text":"9780591200171","href":null,"code":true},{"text":"AAI9712420","href":null,"code":true},{"text":"(UMI)AAI9712420","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/20204","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Padua, David A."]},{"key":"dc:creator","label":"Author","values":["De Rose, Luiz Antonio"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T12:32:09Z","10000-01-01","1996"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1996 De Rose, Luiz Antonio"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["9780591200171","AAI9712420","(UMI)AAI9712420","http://hdl.handle.net/2142/20204"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["This thesis addresses the issues of translating an interactive array language, such as MATLAB$\\sp1$, into a traditional compiled language, such as Fortran, in order to achieve better performance. It describes the main techniques, developed for our MATLAB-to-Fortran 90 compiler, to extract information from the high-level semantics of MATLAB for the generation of high-performance code. To perform the translation, an inference mechanism is necessary to generate the declarations for a typed language, to select the appropriate functions and operations, and to allocate the necessary space. The inference mechanism developed for this MATLAB-to-Fortran 90 compiler combines static and dynamic inference methods for intrinsic type, shape, rank, and structural inference. This inference is enhanced with value propagation and symbolic-dimension propagation analyses. The experimental results, which compare compiled generated programs with the corresponding interpreted MATLAB execution, show that the compiler can generate code that performs more than 1000 times faster than MATLAB on an SGI Power Challenge, and as fast as the corresponding hand-written Fortran 90 programs. When compared with the performance of C-MEX files generated by the MathWorks MATLAB compiler, we observed that, for our tests, the Fortran 90 programs ran faster than the corresponding C-MEX programs on an SGI Power Challenge and on a Sun SPARCstation 10. This better performance is mainly attributed to our enhanced inference mechanism. ftn$\\sp1$MATLAB is a trademark of The MathWorks, Inc.","Made available in DSpace on 2011-05-07T12:32:09Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9712420.pdf: 4770268 bytes, checksum: 88f7bb934f459ebb5404f12b9d74c207 (MD5) Previous issue date: 1996","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:42:19Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:18:23-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Compiler techniques for MATLAB programs"]}]}],"canonical_facts":{"dc:contributor":["Padua, David A."],"dc:creator":["De Rose, Luiz Antonio"],"dc:date":["2011-05-07T12:32:09Z","10000-01-01","1996"],"dc:description":["This thesis addresses the issues of translating an interactive array language, such as MATLAB$\\sp1$, into a traditional compiled language, such as Fortran, in order to achieve better performance. It describes the main techniques, developed for our MATLAB-to-Fortran 90 compiler, to extract information from the high-level semantics of MATLAB for the generation of high-performance code. To perform the translation, an inference mechanism is necessary to generate the declarations for a typed language, to select the appropriate functions and operations, and to allocate the necessary space. The inference mechanism developed for this MATLAB-to-Fortran 90 compiler combines static and dynamic inference methods for intrinsic type, shape, rank, and structural inference. This inference is enhanced with value propagation and symbolic-dimension propagation analyses. The experimental results, which compare compiled generated programs with the corresponding interpreted MATLAB execution, show that the compiler can generate code that performs more than 1000 times faster than MATLAB on an SGI Power Challenge, and as fast as the corresponding hand-written Fortran 90 programs. When compared with the performance of C-MEX files generated by the MathWorks MATLAB compiler, we observed that, for our tests, the Fortran 90 programs ran faster than the corresponding C-MEX programs on an SGI Power Challenge and on a Sun SPARCstation 10. This better performance is mainly attributed to our enhanced inference mechanism. ftn$\\sp1$MATLAB is a trademark of The MathWorks, Inc.","Made available in DSpace on 2011-05-07T12:32:09Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9712420.pdf: 4770268 bytes, checksum: 88f7bb934f459ebb5404f12b9d74c207 (MD5) Previous issue date: 1996","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:42:19Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:18:23-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["9780591200171","AAI9712420","(UMI)AAI9712420","http://hdl.handle.net/2142/20204"],"dc:language":["eng"],"dc:rights":["Copyright 1996 De Rose, Luiz Antonio"],"dc:subject":["Computer Science"],"dc:title":["Compiler techniques for MATLAB programs"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:15Z"}