OpenCL* is an important new standard for heterogeneous computing. With OpenCL, a software developer can write a single program running on everything: from cell phones to nodes in a supercomputer. To reach its full potential, however, OpenCL needs to deliver more than portability. It needs to deliver "performance portability". In this presentation, we discuss the "performance portability" of OpenCL programs.
Frankly, achieving good "performance portability" can be challenging with the current releases of OpenCL device. This article, in addition to tips for writing "performance portable" code today, discusses possible future enhancements of Intel® SDK for OpenCL Applications to improve "performance portability". You can download the Intel® SDK for OpenCL* Applications (versions for Linux* and Windows* OS) at: http://http://www.intel.com/go/opencl.
This intends to be hands-on tutorial build upon the Windows* OS release from Intel, but we invite to use Linux* OS version as well.
Click the Download below button to see the tutorial..
Tim Mattson is a parallel programmer (Ph.D. Chemistry, UCSC, 1985). The recurring theme of his career is to do whatever it takes to meet the needs of parallel application programmers.
Tim has been with Intel since 1993 where he has worked with brilliant people on great projects including:
- the first TFLOP computer (ASCI Red)
- the OpenMP API for shared memory programming
- the OpenCL programming language for heterogeneous platforms
- programming Intel's first TFLOP chip (the 80 core research chip)
- Intel’s 48 core, SCC research processor
Tim has published extensively including the books Patterns for Parallel Programming (with Beverly Sanders and Berna Massingill, Addison Wesley, 2004) and An Introduction to Concurrency in Programming Languages (with Matthew J. Sottile and Craig E Rasmussen, CRC Press, 2009), and the OpenCL Programming Guide (with Aaftab Munshi, Ben Gaster, James Fung, and Dan Ginsburg, Addison Wesley, summer 2011).
* OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.