The steady increase in the number of processing cores being used in
modern hardware architectures is forcing engineers to rethink the way
they design software by focusing on scalability through concurrency, and
effective scheduling of resources.
This course will concentrate on teaching students the fundamentals of
OpenCL, an open standard for programming heterogenous multi-core
processors using a parallel programming language (based on ANSI-C99).
The goal of the course is to give students the opportunity to:
Gain an understanding of OpenCL as a technology framework for enabling
heterogenous parallel processing.
Become familiar with the tools and techniques required to develop an
efficient OpenCL enabled application.
Learn techniques for adapting existing algorithms to a data and/or task
parallel programming model.
Understand the different characteristics of modern multicore hardware
architectures (e.g. CPUs vs. GPUs).
Theoretical and technical background information will be presented, as
well as a hands-on discussion of practical issues that arise when trying
to address scalability concerns and performance requirements for
The course will begin with an introductory session on Monday the 11th of
January. The remainder of the course will consist of weekly lectures
held every Thursday from 15th January - 25th of February.
A list of challenge problems will be given, and a competition will be
held at the end of the course. Winners will be chosen based on how well
their solutions meet the challenge criteria (including metrics such as
scalability, runtime, and throughput).
All students are expected to have a solid understanding of the C/C++
programming languages, experience with Linux, and a strong interest in
parallel programming and multicore hardware architectures.
Online registration now open:
Deadline for registration is 4 January 2010.
Limited space available.
- Locations of venues on the Crawley and Nedlands campuses are
available via the Campus Maps website.
- Download this event as:
Mail this event: