OpenCL provides a rich programming framework that allows applications to be targeted to both a range of different target architectures (e.g., CPUs, GPUs and DSPs), as well as for heterogeneous environments (e.g., APUs and Intel’s SandyBridge). The base OpenCL standard provides us with a compelling programming model that can describe a wide class of applications. OpenCL is being used in a range of domains spanning high performance computing to embedded systems.
In this talk we will discuss our recent work on extending and enhancing the OpenCL standard. We will describe how OpenCL can be enhanced to enable execution to occur on multiple devices concurrently, provide dynamic scheduling and load balancing across multiple devices, and provide portable profiling tools that can be used to effectively debug performance issues.
David Kaeli received a BS and PhD in Electrical Engineering from Rutgers University, and an MS in Computer Engineering from Syracuse University. He is presently a Full Processor on the ECE faculty at Northeastern University, Boston, MA where he directs the Northeastern University Computer Architecture Research Laboratory (NUCAR). Prior to joining Northeastern in 1993, Kaeli spent 12 years at IBM, the last 7 at T.J. Watson Research Center, Yorktown Heights, NY.
Dr. Kaeli has published over 200 critically reviewed publications, 7 books, and 8 patents. He regularly provides tutorials on the subject of Profiling and Instrumentation, and has organized workshops on GPGPUs, security, and binary translation. He is an Associate Editor of IEEE Transactions on Parallel and Distributed Systems and the Journal of Parallel and Distributed Computing, and the Chair of the IEEE Technical Committee on Computer Architecture. Dr. Kaeli is a Fellow of the IEEE.