Deepak Majeti, Habanero C: A Portable Programming Model for Heterogeneous Processors

Today, we see different kinds of hardware with diverse architectural features. Heterogeneity is everywhere, your mobile phones, laptops, servers and even supercomputers. The problem is that, existing programming languages used to develop software applications are not able to tap into the full potential of the newer and faster computers.

My research in the Habanero Multicore Software Research project is to extend existing languages by adding high level constructs along with developing smart compiler and runtime frameworks in order to take full advantage of these newer and faster hardware. I develop Habanero-C (HC), an extension to the popular C language, in order to take advantage of heterogeneous (CPU+GPU) architectures with the goal of achieving Portability, Performance and Productivity. Some of the highlights of HC include support for pointers on the GPU, support for hybrid CPU + GPU execution and the meta-data-framework to automatically handle the data layout.

Interested in parallelizing your application? In my talk, I will give a demo on how easily you can take advantage of these heterogenous architectures with the help of my HC extensions and framework. At the same time you will also witness significant performance improvements.