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:
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
DOI: 10.1007/978-3-030-72789-5_6
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