June 16-20, 2013

Leipzig, Germany

Session Details

Name: Tutorial 13
OpenCL for Heterogeneous Clusters
Time: Sunday, June 16, 2013
2:00 PM - 6:00 PM
Room:   Lecture Room 12 (LR 12)
CCL - Congress Center Leipzig
Breaks:4:00 PM - 4:30 PM Coffee Break
Presenter(s):   Jaejin Lee, Seoul National University
Abstract:   OpenCL is a programming model for heterogeneous parallel computing. OpenCL provides a common abstraction layer across different multicore architectures, such as multicore CPUs and GPUs. However, current OpenCL is restricted to a single OS instance. To target a heterogeneous cluster, programmers typically use OpenCL combining with a communication library, such as MPI. This tutorial first introduces the audience to accelerator architectures, such as GPUs and Intel Xeon Phi. Then, it introduces OpenCL programming and how to develop OpenCL applications for CPUs, GPUs, and Intel Xeon Phi processors. To program heterogeneous clusters, the audience learns how to use a mixture of OpenCL and MPI. We report our experience of using OpenCL and MPI to port High-Performance LINPACK to a cluster with multi-GPU nodes. Finally, we introduce an OpenCL framework, called SnuCL, which provides an illusion of a heterogeneous system running a single OS instance for the heterogeneous cluster. OpenCL applications developed for multiple devices under a single OS instance can run on the heterogeneous cluster without any modification using the SnuCL framework.

Content Level
40% Beginner, 40% Intermediate, 20% Advanced

Attendees are required to have programming experience in C, but no prior knowledge or experience of OpenCL or MPI required. Some OpenCL/CUDA experience will be a plus.
Program may be subject to changes.