Using Deep Learning for Auto-tuning of High Performance GPU Applications

Graphics Processing Units (GPUs) are increasingly used to accelerate applications and to reduce their energy use. GPUs are particularly attractive for mobile platforms, where battery life is important. However, GPUs are hard to use, requiring developers to apply optimizations to their code to realize the performance and energy benefits of GPUs–a tedious and error prone process.

This project involves the analysis, implementation and evaluation of a state-of-the-art machine learning based framework to automatically determine what optimizations to apply to GPU programs. Specifically, we plan to explore cutting-edge deep learning methods that have shown great success in recent years in domains such as image processing, computer vision and text processing. Yet, there is little work applying them to performance auto-tuning.

Adapting learning methods to our tuning problem is a hard task, requiring several challenges to be tackled: availability of training data, determining optimal model parameters and dealing with computational complexity. We will build upon our earlier successes in the field to tackle these challenges. The results of this project will benefit our industrial partner, Qualcomm, a key player in the GPU industry. It will also address important problems of optimizations for GPU applications that are outstanding in the community.

Faculty Supervisor:

Tarek Abdelrahman

Student:

Partner:

Qualcomm Canada Inc;University of Toronto

Discipline:

Computer science

Sector:

Information and cultural industries; Manufacturing; Professional, scientific and technical services

University:

University of Toronto

Program:

Elevate

Current openings

Find the perfect opportunity to put your academic skills and knowledge into practice!

Find Projects