Using Performance Event Profiles to Deduce an Execution Model of MATLAB with Just-In-Time Compilation
Autor: | Claude Tadonki, Jarosław Koźlak, Corinne Ancourt, Patryk Kiepas |
---|---|
Přispěvatelé: | MINES ParisTech - École nationale supérieure des mines de Paris, Université Paris sciences et lettres (PSL), Centre de Recherche en Informatique (CRI), Université Paris sciences et lettres (PSL)-Université Paris sciences et lettres (PSL), AGH University of Science and Technology [Krakow, PL] (AGH UST), Cracovia AGH University of Mining and Metallurgy |
Rok vydání: | 2021 |
Předmět: |
050101 languages & linguistics
[INFO.COMP]Computer Science [cs]/domain_info.comp Semantics (computer science) Event (computing) Computer science 05 social sciences 02 engineering and technology Parallel computing computer.software_genre [INFO.INFO-PF]Computer Science [cs]/Performance [cs.PF] Tree (data structure) Just-in-time compilation 0202 electrical engineering electronic engineering information engineering [INFO]Computer Science [cs] 020201 artificial intelligence & image processing 0501 psychology and cognitive sciences Compiler MATLAB computer Execution model ComputingMilieux_MISCELLANEOUS Interpreter computer.programming_language |
Zdroj: | Languages and Compilers for Parallel Computing ISBN: 9783030727888 LCPC 32nd Workshop on Languages and Compilers for Parallel Computing (LCPC 2019) 32nd Workshop on Languages and Compilers for Parallel Computing (LCPC 2019), Oct 2019, Atlanta, United States |
Popis: | The knowledge about how an interpreter executes programs allows writing faster code and creating powerful source-to-source compilers. However, many languages and environments either lack a specification of the execution semantics, or the semantics frequently changes with new releases. In this article, we present (1) performance event profiles with execution regions, inventive use of event-based sampling on processors where we correlate profiles of many performance events to find regions with desired properties. Furthermore, we use the performance event profiles to deduce (2) a static, tree-based execution model of MATLAB with the Just-In-Time (JIT) compilation. The environment of MATLAB is closed-source, which makes it a perfect testbed for our approach. With the new model and better understanding of how MATLAB executes programs, we propose a new code transformation, (3) repacking of array slices, which can increase the amount of JIT-compiled code in MATLAB programs. |
Databáze: | OpenAIRE |
Externí odkaz: |