People
Professors
Prof. Laurie Hendren (project matriarch)
e-mail: hendren@cs.mcgill.ca
website: http://www.sable.mcgill.ca/~hendren/
projects: projects overview

This is the fourth big compiler project I have led. In the past my research groups have worked on (i) optimizing/parallelizing C (McCAT), (ii) optimizing and analyzing Java (Soot); and a compiler toolkit for language extensions and optimizations for AspectJ (abc).

Building on those previous experiences, McLab is an exciting new project where our goal is to bring together what we have learned about static optimizations, virtual machines, and extensible compiler frameworks to the domain of dynamic scientific languages. Our intent is to work with scientists to develop languages that provide good programming models and good execution performance.

Prof. Clark Verbrugge
e-mail: clump@cs.mcgill.ca
website: http://www.sable.mcgill.ca/~clump/
projects: projects overview

I am a member of the Sable Research Group for compiler and computer language work, and GR@M for computer games research. I have also been involved with the development the McLab's Virtual Machine.

My main research areas include: (i) Compiler (and runtime) optimization, where I currently focus on Java, and have particular interests in concurrency in optimization, use of speculation, and practical information flow; (ii) concurrency, both in terms of compilation issues, and theoretical/linguistic models; and (iii)modern computer games which are woefully under-analyzed.

Grad Students (current)
Vineet Kumar (B.Tech, M.Sc. candidate)
e-mail: vineet.kumar@mail.mcgill.ca
website: vineetkumar.net
projects: Matlab to X10 (website)

Nurudeen Lameed (M.Sc. (Concordia), PhD candidate)
e-mail: nlamee@cs.mcgill.ca
website: http://www.sable.mcgill.ca/~nlamee
projects: McVM and McJIT

Dynamic languages such as MATLAB pose significant performance challenges, but also present great opportunities for optimizations. The dynamic behavior of programs written in those languages may be exploited to guide optimizations that improve performance. I am working under the supervision of Professor Laurie Hendren in the area of virtual machines and dynamic compilation of MATLAB-like languages. In particular, I am working on techniques and tools for optimizing dynamic languages and building on work from the virtual machine and static compiler areas.
Rahul Garg (B.Tech (IIT Kharagpur, India), M.Sc. (Univ of Alberta), PhD candidate)
e-mail: rahul.garg@mail.mcgill.ca
website:
projects: McVM and McJIT

My thesis topic is compiling array-based languages to mixed CPU/GPU systems. I am reusable toolkit called Velociraptor for writing compilers for array-based languages to multi-cores and GPUs. Details can be found at here. The toolkit includes a code generator, a runtime system and an autotuning OpenCL matrix library called RaijinCL, all of which were written by me.
Vineet Kumar (M.Sc. candidate)
e-mail: vineet.kumar [at] mail [dot] mcgill [dot] ca
website: My WebSite
projects: MiX10

I joined the lab in fall semester of the year 2011, and currently I am working on static analysis of Matlab and designing a backend to convert Matlab to X10.
Matthieu Dubet (M.Sc. candidate)
e-mail: mdubet [at] cs [dot] mcgill [dot] ca
website: YourWebSiteHere
projects: McVM (website)

I joined the lab in winter semester of the year 2012, and currently I am working on dynamic analysis of Matlab and improving the performance of McVM.
Xu Li (B.Eng. (BUPT, China), M.Sc. candidate)
e-mail: xu.li2 [at] mail [dot] mcgill [dot] ca
website: YourWebSiteHere
projects: Mc2For (website)

I joined the lab in winter semester of the year 2012, and currently I am working on static analysis of Matlab and designing a backend to convert Matlab to Fortran95.
Ismail Badawi (B.Math (McGill), M.Sc. candidate)
e-mail: ismail.badawi [at] mail [dot] mcgill [dot] ca
website: YourWebSiteHere
projects:

I joined the lab in fall semester of the year 2012, and my interest is mainly about designing toolkit to analyze and optimize Matlab code,
Andrew Bodzay (B.Sc. (McGill), M.Sc. candidate)
e-mail: andrew.bodzay [at] mail [dot] mcgill [dot] ca
website: YourWebSiteHere
projects:

I joined the lab in fall semester of the year 2012, and my interest is mainly about AspectMatlab.
Grad Students (Alumni)
Amina Aslman (M.Sc. (McGill))
e-mail:amina.aslam [at] mail [dot] mcgill [dot] ca
website:www.cs.mcgill.ca/~aaslam1
projects:Analysis And Transformation Engine.(website)

I am working on Analysis and Transformation engine of McLab project under the supervision of Laurie Hendren. Analysis and Transformation engine computes dependence between loop statements and apply various loop transformations that could improve the performance of programs. In MatLab the loop bounds are mostly determined at run time,so the profiler component of analysis and transformation engine generates data for different runs of the program.The data is then passed to heuristic engine to estimate appropriate ranges for loops in the program. Dependence Analysis and transformations are applied on the estimated ranges. The focus of my thesis is to avoid expensive run time dependence analysis tests and do most of the computations at compile time.
Toheed Aslam (M.Sc. (McGill))
e-mail: taslam [at] cs [dot] mcgill [dot] ca
website: www.cs.mcgill.ca/~taslam
projects: AspectMatlab (website)

I have developed the AspectMatlab as part of my masters thesis under the supervision of professor Laurie Hendren. AspectMatlab extends the base Natlab (Neat Matlab) language by introducing the aspect-oriented features. Besides the basic functions related patterns, AspectMatlab provides the array accesses and loops specific patterns, much to the needs of a scientific programmer. Currently, a beta version of AspectMatlab Compiler (amc) is available.
Andrew Casey (B.Math. (Waterloo), M.Sc. (McGill))
e-mail:
website: Metalexer
projects: Metalexer

I was one of the founding members of the McLab project and I created a large part of the front-end including the Natlab scanner and parser and the Matlab2Natlab converter. This work sparked my interest in composable compiler-generator tools. My M.Sc. thesis was the design and implementation of MetaLexer, a lexical analysis toolkit.
Maxime Chevalier-Boisvert (M.Sc. (McGill))
e-mail: mcheva at cs dot mcgill dot ca
website: www.cs.mcgill.ca/~mcheva
projects: McVM (website)

I have completed my masters thesis at McGill University under the supervision of professors Laurie Hendren and Clark Verbrugge. The focus of my thesis was the design and implementation of the McVM virtual machine and its optimizing JIT compiler. This JIT compiler features a type-driven just-in-time function specialization system designed specifically for MATLAB code.
Jesse Doherty (B.Sc. (McGill), M.Sc. (McGill))
e-mail:
website:
projects: Analysis And Transformation Engine(website)

I started doing research as an undergraduate, both with the Sable group and also in other areas. During my M.Sc. studies I was one of the founding members of the McLab project. My main contributions are in the design and implementation of the McIR and analysis frameworks. However, I have also participated in the AspectMatlab project, designing the analysis which reduces weaving overhead.
Anton Dubrau (B.Sc. (McGill), M.Sc. (McGill))
e-mail:
website: www.anton.dubrau.eu
projects: McFor (website)

I joined the McLab project as a summer undergraduate researcher and has continued on as a M.Sc. student. My main interest is in the McFor compiler, extending its functionality to cover as much of the MATLAB language as possible, and in the design of new language features. I have also contributed to the AspectMatlab project, designing various use cases for aspects in numerical computing.
Jun Li (M.Sc. (McGill))
e-mail:
website:
projects: McFor (website)

My M.Sc. thesis was the design and development of the first version of the Matlab-to-Fortran compiler.
Soroush Radpour (M.Sc. (McGill))
e-mail: soroush.radpour [at] mail [dot] mcgill [dot] ca
website: www.cs.mcgill.ca/~sradpo
projects: McVM (website)

At Mclab we are working on Matlab language as it is used by researchers extensively. I am working with a team of researchers from other universities on refactoring Matlab source codes. We are hoping that the resulting toolkit will help scientists to code and debug in Matlab faster.
Undergrads
Mohammed Sahibi (currently B.Eng. student)
e-mail: mohamed.sahibi [at] mail [dot] mcgill [dot] ca
website:
projects:

For the convenience of analyzing Matlab code and collecting information for later phase, tamer convert Matlab to a low level IR, tamerIR, almost three address code. This low level IR has many temporary variables and not very friendly human readable, so my project goal is trying to aggregate those simplified code back to a higher level IR and make them more human readable.
Olivier Savary (CEGEP intern and used to be B.Sc. student)
e-mail:
website:
projects:

I joined the McLab project, just when it was starting, as a Brebeuf CEGEP intern in summer 2008, and then returned again in summer 2009. I have worked on benchmarks and the development of plotting functionality such that McVM can plot using GnuPlot.
Projects Publications Software People FAQs