Tutorial – OpenCL: A Hands-on introduction

OpenCL (TM)

To be held in conjunction with the

SC’11 - International Conference for High Performance Computing, Networking, Storage, and Analysis

Seattle, WA, USA, November 12-18 2011


Tim Mattson, Intel Corp.

Benedict R. Gaster, Advanced Micro Devices

Simon McIntosh-Smith, University Of Bristol

Tutorial session

Sunday November 13th 2011, 08.30AM – 05.00PM









OpenCL is an open standard for programming heterogeneous computers composed of CPUs, GPUs and other processors.  OpenCL consists of a framework to define the platform as a host (typically a CPU) and one or more compute devices (e.g. a GPU) plus a C-based programming language for writing programs for the compute devices.  Using OpenCL, a programmer can write parallel programs that use all the resources of the heterogeneous computer.

In this hands-on tutorial, we will introduce OpenCL.  The format will be a 50/50 split between lectures and exercises.  Students will use their own laptops (Windows, Linux or OS/X) ideally with OpenCL already loaded (see for information about available OpenCL compilers).  We will also provide online systems that can run OpenCL. Students should load putty or some other terminal client prior to the tutorial in order to use these online systems.