The future of computing is parallelism, and NVIDIA's goal for CUDA is to create an accessible and pervasive platform for diverse, high performance parallel computing. In this talk I will share our vision for the future of the CUDA platform and programming model, and present specific features of current and future CUDA releases that are important steps toward that future. CUDA provides a programming model that makes it easy for programmers to expose large amounts of parallelism in their applications, but I'll talk about ways that we are making heterogeneous computing software easier to write, optimize and maintain. I'll demonstrate how we are enabling the CUDA platform to support a broader range of programming languages and libraries. And, I will talk about technologies aimed at making CUDA applications more efficiently scale to large parallel systems.