Skip to content. Skip to navigation
McGill Home SOCS Home
Personal tools
You are here: Home Announcements and Events Seminars profile

Fall 2015 Schedule
Winter 2016 Schedule

2013/11/25, MC103, 12 - 12:30

Velociraptor: A compiler toolkit for compiling languages like MATLAB and Python/NumPy to target hybrid CPU+GPU systems
Rahul Garg , SOCS, McGill

Area: compilers


Multicore CPUs and accelerators such as general purpose GPUs (GPGPUs) have become mainstream. At the same time, programmers want to use high-level array-based languages such as MATLAB and Python/NumPy. Various language extensions have been proposed for these languages to allow programmers to tap into the power of hybrid CPU/GPU systems. However, language extensions for parallel and hybrid computing require building new compilers or substantially extending existing compilers, and this is a non-trivial task. My toolkit, Velociraptor, is a reusable and portable toolkit that makes it easy to build compilers targeting CPU+GPU systems. I describe the working of my toolkit and will describe how I used it to in two compilers to target multicore CPUs and GPUs. If time permits, I will also show a demo of the compiler generating code for GPUs from Python and/or McVM which is a virtual machine for the MATLAB language developed by other students in my lab.