Programming for the Intel Xeon Phi

Tutorial Presenter: Klaus-Dieter Oertel, Intel

Abstract

Modern day HPC systems consist of multi-socket multi-core nodes together with many-core coprocessors and parallel programming comes with many offers. While research is nowhere near perfect automatic parallelization, the many strands of explicit parallel programming evolved into a set of a few standards, that allow to program parallel concepts for portability and maintainability, yet address the major performance aspects of current and future compute architectures.

In this tutorial you will learn how Intel® Software Developer products bring key programming languages, language extensions, libraries, and analysis tools under one umbrella to meet the needs of today’s and tomorrow’s parallel programming standards on Intel® Xeon® processors and Intel® Xeon Phi™ coprocessors. The tutorial after introducing the Many Integrated Core (MIC) architecture and Intel® Xeon Phi™ coprocessors will deliver a comprehensive overview of Intel® Cluster Studio XE 2013 covering different programming models for native and offload execution. The key aspects of vectorization and hybrid programming models will be discussed. Intel® Cluster Studio XE 2013 supports shared, distributed and hybrid memory applications while providing the essential tools for programming on Intel® Xeon Phi™ coprocessors, in particular for MPI applications which benefit from the availability of Intel® MPI and the Intel® Trace Analyzer and Collector for the coprocessor. The talks are accompanied by several online demos.

Detailed Outline

Intel® Xeon Phi™ Overview
Duration: 15 Minutes
[slides]

Programming models for Intel® Xeon Phi™
Duration: 25 Minutes
[slides]

  • Offloading code to the coprocessor
  • Native execution on the coprocessor
  • Parallelization models
  • Vectorization overview

Intel® Cluster Studio XE 2013 programming tools
Duration: 40 Minutes
[slides]

  • Compilers
  • Performance libraries
  • Performance analyzer
  • Demo

Vectorization
Duration: 50 Minutes
[slides]

  • Importance of vectorization
  • Pragmas and directives
  • Array notation in C/C++ and Fortran

Intel® MPI on Intel® Xeon Phi™
Duration: 50 Minutes
[slides]

  • Intel® MPI programming models
  • Hybrid computing (MPI+threads)
  • Intel® Trace Analyzer and Collector
  • Load balancing
  • Demo