OpenCL seminar course (spring 2012)
TKT-9636 DIGITAL AND COMPUTER SYSTEMS SEMINAR
Intensive seminar course about OpenCL, based on the book:
Heterogeneous Computing with OpenCL
Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, Dana Schaa
The book in Amazon.
Two books are available in the department for this course.
Student lectures on Tuesdays at 12:15 and Thursdays at 12:15, 2h per session.
Starting on April 17th.
place: Tue TC133, Thu TC161
requirements for full credits:
- A lecture given
- Acting as an "opponent" in another lecture with prepared questions asked
- High level of lecture participation (max. one presentation can be missed, this is strict!)
- Personal OpenCL assignment (student can propose a topic related to OpenCL)
You are also welcome to attend only the lectures and/or to do the exercise work. Credits are
granted only for full participation and a presentation (4 cr). If the exercise work is done,
one gets 5 credit points.
in POP, search with TKT-9636
About the presentations
Please bring the slides for your presentation as a PDF file
or bring your own laptop with the slides. Beware that it might take some time
to go through the chapter(s) and to prepare the slides so be sure
to start working on your presentation early enough! Expect at least one
work day to be spent per chapter.
Please use pictures in your presentation (you can scan them or try to
find them in the net) to make it less boring.
A personal project. Student proposes an own case for OpenCL implementation and benchmarking.
This can involve accelerating a program using OpenCL or another related OpenCL task.
An acceptable project is an adequate contribution to the open source
OpenCL implementation, Portable OpenCL.
- Timo: (pocl) Implement the images&samplers support. done
- Vlado: (pocl) Implement autovectorization of WGs and OpenCL-specific alias analysis. done
- Omer: A literature survey of published OpenCL (or CUDA) implementations of SDR kernels (Viterbi, FFT, Turbo,..). done
Chapter 1: Introduction to Parallel Programming
Chapter 2: Introduction to OpenCL
presented by Timo V.
questions by Heikki K.
Chapter 3: OpenCL Device Architectures
(+some new material of the state of the art architectures)
presented by Heikki K.
questions by Timo V.
Chapter 4: Basic OpenCL Examples
(+some additional example walk through)
presented by Otto E.
questions by VladimŪr G.
Chapter 5: Understanding OpenCL's Concurrency and Execution Model
This is probably the most important Chapter in the book!
presented by VladimŪr G.
questions by Otto E.
week 18 May 1st break
Tue (NOTE: Two lectures, might take a bit longer!)
Chapter 6: Dissecting a CPU/GPU OpenCL Implementation
presented by Teemu L.
questions by Omer A.
Chapter 11: OpenCL Extensions
Chapter 12: OpenCL Profiling and Debugging
Note: some of the extensions presented might be in the new OpenCL 1.2 standard. Please
check and mention about it. For the debugging part it would be great to have a real
demo of the tools, if possible.
presented by Omer A.
questions by Teemu L.
Lecture moved to Tue.
Tue (postponed to the next week)
Thu (a public holiday, helatorstai)
Chapter 7: OpenCL Case Study: Convolution
Chapter 8: OpenCL Case Study: Video Processing
Chapter 9: OpenCL Case Study: Histogram
Chapter 10: OpenCL Case Study: Mixed Particle Simulation
The idea in this lecture is not to go through all the cases in detail but pick some interesting
optimizations or special things done in each of the case studies, e.g. OpenGL
interoperation, memory alignment optimizations or similar.
presented by Muhammad H.
questions by everyone
A guest lecture about WebCL by Janne Pietišinen:
Nokia WebCL for Firefox: bringing the power of parallel computing to the web
Janne Pietišinen has been involved in the development of the WebCL implementation.
He will describe the background and some of the approaches, challenges and solutions in
the implementation. In addition, if time allows, he will also give a live demo.
week 24: Assignment deadline.