|Name:||Tutorial 13OpenCL 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.
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.