Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Program analysis and code generation in an APL/370 compiler
IBM Journal of Research and Development
Numerical methods for computer science, engineering, and mathematics
Numerical methods for computer science, engineering, and mathematics
An APL compiler
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiling nested data-parallel programs for shared-memory multiprocessors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer as Thinker/Doer: Problem-Solving Environments for Computational Science
IEEE Computational Science & Engineering
Gated SSA-based demand-driven symbolic analysis for parallelizing compilers
ICS '95 Proceedings of the 9th international conference on Supercomputing
Automatic data structure choice in a language of very high level
Communications of the ACM
Compilation and delayed evaluation in APL
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An Introduction to APL
The Java Language Specification
The Java Language Specification
APL: An Interactive Approach
Parallel Programming with Polaris
Computer
FALCON: A MATLAB Interactive Restructuring Compiler
LCPC '95 Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing
Compiler techniques for matlab programs
Compiler techniques for matlab programs
MaJIC: compiling MATLAB for speed and responsiveness
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Reducing and Vectorizing Procedures for Telescoping Languages
International Journal of Parallel Programming
A Matlab Just-In-time Compiler
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
Static array storage optimization in MATLAB
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Automatic Type-Driven Library Generation for Telescoping Languages
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
Defining and Measuring the Productivity of Programming Languages
International Journal of High Performance Computing Applications
An algebraic array shape inference system for MATLAB®
ACM Transactions on Programming Languages and Systems (TOPLAS)
In search of a program generator to implement generic transformations for high-performance computing
Science of Computer Programming - Special issue on the first MetaOCaml workshop 2004
A translator system for the MATLAB language: Research Articles
Software—Practice & Experience
Active mask segmentation of fluorescence microscope images
IEEE Transactions on Image Processing
On optimising shape-generic array programs using symbolic structural information
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Static reuse distances for locality-based optimizations in MATLAB
Proceedings of the 24th ACM International Conference on Supercomputing
Hierarchically tiled arrays for parallelism and locality
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Subregion analysis and bounds check elimination for high level arrays
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Automatic compilation of MATLAB programs for synergistic execution on heterogeneous processors
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
A language for the compact representation of multiple program versions
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
SILC: a flexible and environment-independent interface for matrix computation libraries
PPAM'05 Proceedings of the 6th international conference on Parallel Processing and Applied Mathematics
Source transformation for MATLAB automatic differentiation
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Experience in developing an open source scalable software infrastructure in japan
ICCSA'10 Proceedings of the 2010 international conference on Computational Science and Its Applications - Volume Part II
McSAF: a static analysis framework for MATLAB
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
First steps to compiling Matlab to X10
Proceedings of the third ACM SIGPLAN X10 Workshop
Optimizing R VM: Allocation Removal and Path Length Reduction via Interpreter-level Specialization
Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization
Hi-index | 0.00 |
This article describes the main techiques developed for FALCON's MATLAB-to-Fortran 90 compiler. FALCON is a programming environment for the development of high-performance scientific programs. It combines static and dynamic inference methods to translate MATLAB programs into Fortran 90. The static inference is supported with advanced value propagation techniques and symbolic algorithms for subscript analysis. Experiments show that FALCON's MATLAB translator can generate code that performs more than 1000 times faster than the interpreted version of MATLAB and substantially faster than commercially available MATLAB compilers on one processor of an SGI Power Challenge. Futhermore, in most cases we have tested, the compiler-generated code is as fast as corresponding hand-written programs.