Overview
AMD is offering an introductory tutorial to OpenCL™ that will be held alongside the 2010 Symposium on Application Accelerators in High Performance Computing (SAAHPC’10).
SAAHPC’10 Details
Date: July 13-15, 2010 [Event has expired]
Location: University of Tennessee Conference Center, Knoxville, Tennessee
Website: http://saahpc.ncsa.illinois.edu/
Tutorial
Date: July 12, 2010
Time: 1pm-5pm
Location: 4th Floor, Conference Center Building, 600 Henley Street, Knoxville, TN 37092
Cost: Free!
Contact: streamcomputing@amd.com
Description:
OpenCL™ is a standard for programming heterogeneous computers built from CPUs, GPUs and other processors. It includes a framework to define the platform in terms of a host (e.g. 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 task-based and data-parallel programs that are targeted at HPC.
In this tutorial, we will introduce OpenCL™. This will be a “programmer’s introduction” where we cover the ideas behind OpenCL™ but also show how these ideas are translated into source code. We will do this through a series of progressively more challenging examples--thereby providing examples that experienced programmers will need to become productive OpenCL™ programmers.
Syllabus:
- ATI Stream Computing
- Hardware Overview
- Software Ecosystem Overview
- Heterogeneous Computing and the Origins of OpenCL™
- OpenCL™ Overview
- Platform Model
- Execution Model
- Memory Model
- Programming Model
- Exploring the Spec with Code: Embarrassingly Parallel
- Vector Addition: The Basic Platform Layer
- Sorting: Kernel Programming Language
- Exploring the Spec with Code: Interacting Work-Items
- Optimizing Sort: Work-Groups and the Memory Model
- A Survey of the Rest of OpenCL™
- Runtime Layer, Event Model, C++ Wrapper API
- Simulating the Ocean
Organizers:
- Benedict R. Gaster, OpenCL™ Architect, Products Group, AMD Inc.
- Lee Howes, Research Engineer, Office of the CTO, AMD Inc.
Bibliography:
The OpenCL™ Specification 1.0 (rev 48). Khronos 2009. Editor Aaftab Munshi.
http://www.khronos.org/registry/cl/specs/opencl-1.0.48.pdf
Udeepta Boroloi, Benedict R. Gaster, and Marc Romankewicz.
Chapter 7.1, "Using Heterogeneous Parallel Architectures with OpenCL™". In book Game Programming Gems 8, Course Technology PTR. 1st Edition March 2010.