BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN VERSION:2.0 BEGIN:VEVENT DTSTART:20151116T143000Z DTEND:20151116T230000Z LOCATION:17B DESCRIPTION;ENCODING=QUOTED-PRINTABLE:ABSTRACT: Heterogeneous computing involves programs running on systems composed of some combination of CPUs, GPUs and other processors critical for high performance computing (HPC). To succeed as a long-term architecture for HPC, however, it is vital that the center of attention shift away from proprietary programming models to standards-based approaches.=0A=0AThis tutorial is a unique blend of a high-level survey and a hands-on introduction to writing portable software for heterogeneous platforms. We will only work with portable APIs and languages supported by vendor-neutral standards. We believe such an approach is critical if the goal is to build a body of software for use across multiple hardware generations and platforms from competing vendors.=0A=0AWe’ll start with OpenCL using the Python interface. By using Python we avoid many of the complexities associated with the host programming API thereby freeing-up more time to focus on the kernel programs that run on the OpenCL devices (such as a GPU or the Intel® Xeon Phi™ coprocessor). Then in the second half of the tutorial, we will shift gears to the OpenMP 4.1 target directive (and associated constructs). SUMMARY:Portable Programs for Heterogeneous Computing: A Hands-On Introduction PRIORITY:3 END:VEVENT END:VCALENDAR