MulticoreInfo.com header image 2

Top Story

Parallel Programming Tutorial Series - Part 9 - OpenCL

August 24th, 2009 · 5 Comments




We provided many resources of parallel programming tutorials. The following are the ones we have linked so far.
Basic parallel computing tutorial
MapReduce tutorial
Cell processor programming
OpenMP tutorial
PThreads Tutorials
Intel Threading Building Blocks
MPI
CUDA

In this edition, we provide some OpenCL tutorials. OpenCL is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software (from Khronos website). It is a community effort to create a standard for parallel computing, with early emphasis on GPGPU computing, in the same way that OpenGL has become a standard for graphics. The main thrust is that people want to be able to have portability across the various vendor chips. All of the major hardware vendors have agreed to the OpenCL standard and the v1.0 spec was recently released.

OpenCL specification is available here [pdf].

Aaftab Munshi’s presentation at SIGGRAPH 2008 titled OpenCL: Parallel Computing on the GPU and CPU provides some more information using an example of FFT with OpenCL. Download Here [pdf]

Benedict R. Gaster of AMD provides an Introductory Tutorial to OpenCL. This tutorial gives a very basic intro to OpenCL with a Hello World program. (Introductory Tutorial to OpenCL). At the end of the tutorial, Benedict also provides a few links to OpenCL resources.

Another link from AMD website is to An Introduction to OpenCL.

Nvidia provides a Jump Start guide for programming in OpenCL on Nvidia GPUs.
Nvidia’s OpenCL JumpStart Guide
OpenCL Introduction Presentation Slides [pdf]
Video (.wmv format)

Nvidia’s OpenCL Best Practices Guide gives excellent ways of optimizing OpenCL programming including performance metrics, memory optimizations, instruction optimizations to use OpenCL on Nvidia GPUs.
Download Nvidia’s OpenCL Best Practices Guide
Best Practices for OpenCL Programming presentation is also available as a video (.wmv format).
Presentation slides are here.

At last year’s Supercomputing conference, there was a overview presentation of OpenCL by Neil Trevett, President of Khronos Group. You can download it here [pdf, ~7.5 MB].
Similar overview slides were presented at a SIGGRAPH 2009 BOF session by various companies.
Mike Houston of AMD.
Opportunities with OpenCL by Intel’s Aaron Lefohn and Larry Seiler
OpenCL Update by Nvidia’s Simon Green
AMD and OpenCL by Mike Houston

Related Links
OpenCL Implementations, Tutorials and Sample Code [None Available Yet]
OpenCL technical forum
OpenCL Tutorial Session at Hot Chips 21 [Slides are not available]
Apple’s OpenCL Technical Brief
OpenCL demo on a GPU [YouTube video, 1.34 min]
AMD OpenCL multi-core CPU demo [YouTube video, 2.21 min]
OpenCL for CPU Scales Applications Easily on Four Six-Core AMD Opteron Processors [YouTube video, 3.41 min]
OpenCL GPU Computing Support on NVIDIA’s CUDA Architecture GPUs
Seminar on GPGPUs: OpenCL by Tero Arpinen
Getting started with Python::OpenCL
Benchmarks : OpenCL GPGPU Performance

  • Share/Save/Bookmark

Tags: MulticoreInfo

Like what you're reading? Come back every day for multicore news, or subscribe to RSS updates.



Stumble It!     


5 responses so far ↓