Since 2nd Generation Intel? Core Processors most processors come with Intel? HD Graphics on-chip to provide high performance graphics without the added cost and power of a discrete graphics add-in card. When an application doesn?t rely on or fully utilize display and graphics, for example an embedded application, the GPU can be used to offload parallel computations taking advantage of both thread parallelism and vector instructions for data parallelism. A workload can either run completely on the GPU or it can be partitioned between CPU and GPU. One advantage of the on-chip processor graphics is physical memory shared between CPU and GPU thus providing no-copy overhead in sharing data between the CPU and the GPU.

The C/C++ Cilk Plus parallel programming model, with small extensions for offload, is used to take advantage of the computational capabilities of the GPU. The C++ compiler handles all aspects of both the host and target side compilation including setting up data to be shared and kernel parameters. This provides an easy heterogeneous programming model that is similar between host and target and lets the programmer focus on the algorithm and performance.

A summary of the tutorial format: Tutorial format will be a slide presentation on the programming model as well as demonstrations on selected examples. The tutorial will give insight into parallel programming using Cilk? Plus, offload to processor graphics, as well as tuning and debugging. Specific examples will be shown on how to port an application to take advantage of offload.

Sat 13 Jun

pldi2015-workshops
09:00 - 11:00: Tutorials - Using the Intel C++ Compiler for General Purpose Computation Offload to Intel Processor Graphics at A103-104
pldi2015-workshops09:00 - 11:00
Talk
Link to publication
pldi2015-workshops
11:20 - 12:30: Tutorials - Using the Intel C++ Compiler for General Purpose Computation Offload to Intel Processor Graphics at A103-104
pldi2015-workshops11:20 - 12:30
Talk
Link to publication