ABSTRACT: Heterogeneous computing is quickly establishing itself as one of the leading approaches to build exascale supercomputers, while staying within power and monetary budgets. Application developers have to parallelize their applications – whether the system is a heterogeneous system or even a traditional multi-core CPU system. Given these challenges, the opportunities that GPUs represent are overwhelming. Already, there are several large supercomputers built using GPUs in Asia and many more coming soon. We will discuss these topics and also talk about programmability and developer productivity.