Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1822327.1822343acmconferencesArticle/Chapter ViewAbstractPublication PagesuccsConference Proceedingsconference-collections
research-article

McLab: an extensible compiler toolkit for MATLAB and related languages

Published: 19 May 2010 Publication History
  • Get Citation Alerts
  • Abstract

    Matlab is a popular language for scientific computation. Effectively compiling Matlab presents many challenges due to the dynamic nature of the language. We present McLab, an extensible compiler toolkit for the Matlab and related languages. McLab aims to provide high performance execution of Matlab on modern architectures while bringing modern programming concepts such as aspect-oriented programming and other extensions to Matlab. McLab consists of several components. The first component is an extensible frontend to parse and analyze Matlab as well as extensions to Matlab. The second component, called McFor, is a compiler to translate a static subset of Matlab to FORTRAN. The third component, McVM, is a virtual machine including a JIT compiler to execute Matlab code. Finally we also provide language extensions such as AspectMatlab. We present the current state of the implementation of McLab and describe ongoing work and future directions of the project.

    References

    [1]
    JastAdd. http://jastadd.org/.
    [2]
    Metalexer. http://www.sable.mcgill.ca/metalexer/.
    [3]
    T. Aslam. AspectMatlab: An aspect-oriented scientific programming language. Master's thesis, McGill University, 2010.
    [4]
    A. Casey. The MetaLexer lexical specification language. Master's thesis, McGill University, September 2009.
    [5]
    M. Chevalier-Boisvert. McVM: An optimizing virtual machine for the MATLAB programming language. Master's thesis, McGill University, August 2009.
    [6]
    M. Chevalier-Boisvert, L. Hendren, and C. Verbrugge. Optimizing MATLAB through just-in-time specialization. In International Conference on Compiler Construction, March 2010. To Appear.
    [7]
    T. Ekman and G. Hedin. The Jastadd extensible Java compiler. In OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications, pages 1--18, New York, NY, USA, 2007. ACM.
    [8]
    J. Li. McFor: A MATLAB to FORTRAN 95 compiler. Master's thesis, McGill University, August 2009.
    [9]
    A. D. Toheed Aslam, Jesse Doherty and L. Hendren. AspectMatlab: An aspect-oriented scientific programming language. In Proceedings of 9th International Conference on Aspect-Oriented Software Development, March 2010. To appear.

    Cited By

    View all
    • (2020)Compilation of MATLAB computations to CPU/GPU via C/OpenCL generationConcurrency and Computation: Practice and Experience10.1002/cpe.585432:22Online publication date: Jun-2020
    • (2019)A stage-polymorphic IR for compiling MATLAB-style dynamic tensor expressionsProceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3357765.3359514(34-47)Online publication date: 21-Oct-2019
    • (2017)Analyzing Parallel Programming Models for Magnetic Resonance ImagingLanguages and Compilers for Parallel Computing10.1007/978-3-319-52709-3_15(188-202)Online publication date: 24-Jan-2017
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    C3S2E '10: Proceedings of the Third C* Conference on Computer Science and Software Engineering
    May 2010
    156 pages
    ISBN:9781605589015
    DOI:10.1145/1822327
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 19 May 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. JIT compilation
    2. Matlab
    3. compiler
    4. programming languages
    5. scientific computing

    Qualifiers

    • Research-article

    Conference

    C3S2E '10
    Sponsor:
    • ACM
    • Concordia University

    Acceptance Rates

    Overall Acceptance Rate 12 of 42 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Compilation of MATLAB computations to CPU/GPU via C/OpenCL generationConcurrency and Computation: Practice and Experience10.1002/cpe.585432:22Online publication date: Jun-2020
    • (2019)A stage-polymorphic IR for compiling MATLAB-style dynamic tensor expressionsProceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3357765.3359514(34-47)Online publication date: 21-Oct-2019
    • (2017)Analyzing Parallel Programming Models for Magnetic Resonance ImagingLanguages and Compilers for Parallel Computing10.1007/978-3-319-52709-3_15(188-202)Online publication date: 24-Jan-2017
    • (2017)A MATLAB subset to C compiler targeting embedded systemsSoftware—Practice & Experience10.1002/spe.240847:2(249-272)Online publication date: 1-Feb-2017
    • (2016)Efficiently implementing the copy semantics of MATLAB's arrays in JavaScriptACM SIGPLAN Notices10.1145/3093334.298923552:2(72-83)Online publication date: 1-Nov-2016
    • (2016)Efficiently implementing the copy semantics of MATLAB's arrays in JavaScriptProceedings of the 12th Symposium on Dynamic Languages10.1145/2989225.2989235(72-83)Online publication date: 1-Nov-2016
    • (2015)Velociraptor: a compiler toolkit for array-based languages targeting CPUs and GPUsProceedings of the 2nd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming10.1145/2774959.2774967(19-24)Online publication date: 13-Jun-2015
    • (2015)Techniques for efficient MATLAB-to-C compilationProceedings of the 2nd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming10.1145/2774959.2774961(7-12)Online publication date: 13-Jun-2015
    • (2015)A Taxonomy of Domain-Specific Aspect LanguagesACM Computing Surveys10.1145/268502847:3(1-44)Online publication date: 17-Feb-2015
    • (2015)Source Transformation for the Optimized Utilization of the Matlab Runtime System for Automatic DifferentiationRecent Trends in Computational Engineering - CE201410.1007/978-3-319-22997-3_7(115-131)Online publication date: 2015
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media