Parallel Computing for Graphics: Beyond Programmable Shading

Full Conference  One-Day Full Conference

Friday, 12 December, 08:30 - 17:30
Room 312
Level: Beginner

This course provides an introduction to parallel-programming architectures and environments for interactive graphics and demonstrates how to combine traditional rendering 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. That means that graphics developers will need a basic understanding of how to combine emerging parallel-programming techniques with the traditional interactive rendering pipeline. The first half of the course introduces several parallel graphics architectures, programming environments, and the new types of graphics algorithms that will be possible. The second half presents case studies of how game developers, researchers, and graphics hardware vendors 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.

Prerequisites
Knowledge of general purpose programming languages.

Intended Audience
Developers interested in general purpose computing on the GPU.

Instructors
Jason Yang
Advanced Micro Devices, Inc.

Justin Hensley
Advanced Micro Devices, Inc.

Tim Foley
Intel Corporation

Mark Harris
NVIDIA Corporation

Anselmo Lastra
University of North Carolina at Chapel Hill

Anjul Patney
University of California, Davis

Pedro V. Sander
Hong Kong University of Science and Technology

Jeremy Shopf
Advanced Micro Devices, Inc.

Kun Zhou
Zhejiang University

Instructor Bios

Jason Yang
Jason Yang is an architect in AMD's Graphics Products Group - 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

Justin Hensley
Justin Hensley is an architect in AMD's Graphics Product Group - Office of the CTO focusing on parallel programming using graphics processors. Since joining AMD, he has been involved with several projects, including face recognition, depth extraction, and game physics. Recently, he has been involved with driving the compute requirements, and the associated software stacks, 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 with a double major in electrical engineering and computer science engineering from the University of California, Davis.

Tim Foley
Tim Foley is a senior graphics architect at Intel on the Larrabee project. Previously, he designed programming models for parallel graphics computation as a principal engineer at Neoptica, a computer graphics startup acquired by Intel in October 2007. He is currently working toward a PhD under Pat Hanrahan at Stanford and holds a BS in computer science and a BA in mathematics from the University of California, San Diego. His research interests include programming models and languages for real-time rendering and parallel computation on future architectures, and he worked on the BrookGPU system for general-purpose programming on GPUs.

Mark Harris
Mark Harris is a member of the developer technology team at NVIDIA, where he works with developers around the world on software for computer graphics and high-performance computing. His research interests include parallel computing, general-purpose computation on GPUs, physically based simulation, real-time rendering, and gastronomy. He earned his PhD in computer science from the University of North Carolina at Chapel Hill in 2003 and his BS from the University of Notre Dame in 1998. He founded and maintains GPGPU.org, a web site dedicated to general-purpose computation on GPUs. He has recently moved to Australia after living in the United Kingdom for five years.

Anselmo Lastra
Anselmo Lastra is a professor of computer science at the University of North Carolina at Chapel Hill. He received a BS in Electrical Engineering from the Georgia Institute of Technology and MS and PhD degrees in Computer Science from Duke University. He was co-chair of I3D 2005 and Graphics Hardware 2004, and is an associate editor of IEEE Computer Graphics and Applications. His research interests are in the areas of image-based modelling and rendering, and graphics hardware architectures.

Anjul Patney
Anjul Patney is a PhD student in the Department of Electrical and Computer Engineering at the University of California, Davis. He is a member of the graphics and parallel architecture research group and works in the broad area of throughput computing. He has strong interests in the hardware architecture beneath modern graphics processors. He spent the summer of 2008 working on the architecture team for the Intel Larrabee project. He earned his BTech in Electrical Engineering from the Indian Institute of Technology Delhi in 2007.

Pedro V. Sander
Pedro V. Sander is a university professor and computer graphics researcher. He received a Bachelor of Science in Computer Science from Stony Brook University in 1998. He then received Master of Science and Doctor of Philosophy degrees from Harvard University in 1999 and 2003, respectively. While attending graduate school at Harvard, he received fellowships from the university's Division of Engineering and Applied Sciences (1998-1999) and Microsoft Research (2000-2002). After concluding his studies, Dr. Sander was appointed as a senior member of the Application Research Group at ATI Research, where he conducted real-time rendering and general-purpose computation research with latest-generation and upcoming graphics hardware. In 2006, he moved to Hong Kong to join the Faculty of Computer Science and Engineering at The Hong Kong University of Science and Technology.

Jeremy Shopf
Jeremy Shopf is a senior software engineer in the Game Computing Application Group at AMD Graphics Products Group, where he works on graphics demos and novel rendering techniques as part of the demo team. Prior to working at AMD, Jeremy was a graduate student researching perceptually driven rendering techniques as a member of the VANGOGH research lab at the University of Maryland Baltimore County.

Kun Zhou
Kun Zhou is a Cheung Kong Professor in the Computer Science Department of Zhejiang University and a member of the State Key Laboratory of CAD&CG. He received his PhD from Zhejiang University in 2003. After graduation, he joined Microsoft Research Asia as an associate researcher and was a lead researcher of the graphics group before moving to Zhejiang University. His research concentrates on geometry, texture, and real-time computer graphics.