Graphics Processing Units (GPUs) have been become the accelerator of choice in many application domains. To leverage the benefits of a GPU, the programmer must understand how to map their application on the underlying microarchitecture. These lectures will cover best practices in programming a GPU (in CUDA and OpenCL) to improve performance, the GPUs microarchitecture and GPU performance modeling. This course will also include issues of both security and reliability on GPUs.
David Kaeli is a College of Engineering Distinguished Professor of Electrical and Computer Engineering at Northeastern University, where he directs the Northeastern University Computer Architecture Research Laboratory (NUCAR). He received a BS and PhD in Electrical Engineering from Rutgers University, and an MS in Computer Engineering from Syracuse University. He has also served as the Associate Dean of Undergraduate Programs in the College of Engineering from 2010-2013. Prior to joining Northeastern in 1993, Kaeli spent 12 years at IBM, the last seven of which were at T.J. Watson Research Center, Yorktown Heights, NY. He has been a visiting faculty fellow at the University of Edinburgh, Ghent University, Technical University of Munich and Barcelona Tech.
Dr. Kaeli has published over 350 critically reviewed publications, seven books, and holds 12 US patents. His research spans a range of areas including microarchitecture to back-end compilers and database systems. His current research topics include hardware security, graphics processors, heterogeneous computing, and multi-layer reliability. He serves as an Associate Editor of the IEEE Transactions on Parallel and Distributed Systems, ACM Transactions on Architecture and Code Optimization, and the Journal of Parallel and Distributed Computing. Dr. Kaeli is an IEEE Fellow and a Distinguished Scientist of the ACM.