I am a PhD in computer science specialized in compilers, I'm currently working as as software engineer. I am interested in the design and implementation of programming languages, especially with just in time compilation. I did my PhD in the University of Montpellier under the direction of Roland Ducournau. I worked on a virtual machine for a research Object-Oriented language called Nit. The research was focused on implementing efficiently Object-Oriented mechanisms in the context of a JIT compiler and in multiple inheritance. This was a collaboration with the Université du Québec à Montréal (UQAM) in Montréal, Canada. Then I worked for one year in the INRIA team CAMUS in Strasbourg, France on automatic parallel optimizations for dynamic languages. We used polyhedral optimizations and tools which are usually used on static languages like C on the JavaScript language. We implemented a proof of concept in the JavaScript Core virtual machine of the webkit project. From september 2017 to December 2018 I was a postdoctoral fellow in the Université de Montréal and I worked with Marc Feeley on implementing dynamic languages. During this project I have develop a proof of concept of a Python JIT compiler based on the Basic-block Versionning technique. After that I worked for Octasic, a private company based on Montréal as a software engineer. Octasic is developing DSP for embedding systems which are then typically used in radio applications. I was helping them to develop and improve their compiler from C to their custom assembly. This compiler was based on LLVM and clang. Since December 2020 I am working for AMD as a Senior Software Engineer. I am working on the open-source shader compiler based on LLVM for current and future architectures of AMD GPUs.
Teaching assistant (for around 415h) in Universities of Montpellier and Strasbourg