This course provides an introduction to parallel-programming architectures and environments for interactive graphics. It also demonstrates how to combine traditional rendering Application Programming Interface (API) with advanced parallel computation. There are strong indications that the future of interactive graphics involves a more flexible programming model than today's OpenGL/Direct3D pipelines. This means that graphics developers will need a basic understanding of how to combine emerging parallel-programming techniques with the traditional interactive rendering pipeline. The course presents several studies of how developers combine traditional rendering API techniques with advanced parallel computation. Each case study includes a live demo and discusses the mix of parallel-programming constructs used, details of the graphics algorithm, and how the rendering pipeline and computation interact to achieve the technical goals. All computation will be done in OpenCL. A combination of DirectX and OpenGL will be used for the rendering.
Level
Advanced
Intended Audience
Developers with a basic understanding of OpenCL who wish to implement interesting physical and graphical effects.
Prerequisites
An understanding of the OpenCL pipeline, or the introductory OpenCL course.
Course Schedule
Session 1 (14:15-16:00)
14:15-14:45: Introductions and Quick Review of Latest OpenCL Additions (Justin Hensley)
14:45-15:30 Rigid body particles in OpenCL (Takahiro Harada)
16:10-16:15 break
Session 2 (16:15-18:00)
16:15 - 17:00 - Cloth simulation in OpenCL (Justin Hensley)
17:00- 17:45 - Computational Graphics with OpenCL (Derek Gerstmann)
17:45 - 18:00 - Closing and Questions
Presenter(s)
Justin Hensley is a Senior Member of Technical Staff in AMD's Office of the CTO, focusing on parallel programming using graphics processors. Since joining AMD, he has been involved in several projects, including face recognition, depth extraction, and game physics. He was recently involved in driving the compute requirements of next generation-graphics processors. He received his PhD in Computer Science from the University of North Carolina at Chapel Hill in 2007. He also holds an MS in Electrical Engineering and a BS in Electrical Engineering and Computer Science Engineering from the University of California, Davis.
Derek Gerstmann is a research fellow at the University of Western Australia, focusing on visualization and data analysis for the BioImaging Initiative, co-funded by the Western Australian Supercomputer Program (WASP) and the Centre for Microscopy, Characterisation and Analysis (CMCA). His knowledge and experience in parallel and distributed computation comes from a diverse professional career, including engineering positions at Advanced Micro Devices Inc. and ATI Technologies Inc., Apple, and Weta Digital. He received his MS from the National Centre for Computer Animation (NCCA) at Bournemouth University, UK and his BS from the University of Washington.
Jason Yang is a Senior Member of Technical Staff in AMD Inc.'s Office of the CTO currently focused on GPGPU research. Major projects he has been involved in include H.264 and VC-1 shader decoding and custom anti- aliasing with edge detection. Recently, he worked on AMD's Stream Computing SDK. He received his PhD in Computer Science and his BS in Electrical Engineering and Computer Science from the Massachusetts Institute of Technology in 2005 and 1999 respectively.