Many Faces of Parallelism

Many Faces of Parallelism: Porting Programs to the Intel® Many Integrated Core Architecture


Download full lab instruction manual (PDF)
Download code (ZIP) 


This lab assumes you have some experience as a programmer. Knowledge of C or any derivative (C++, C#) is useful, as all examples are written in basic C++ (although no classes are used). You will also need a very basic familiarity with shell usage, as all steps are done on the Linux* command shell. Basic knowledge of Linux and the bash shell are therefore also recommended.


  • This document assumes that the Intel® C++ Composer XE 2013 for Linux is already installed on your system.
  • To run the Intel® Xeon Phi™ coprocessor portions of the labs, you will need to install the Intel® Many Core System Stack (Intel® MPSS) and have at least one coprocessor in your system.
  • Un-compress the accompanying MIC-lab_VERSION.tgz file into your home directory.
  • Set up your compiler environment. Please ask your local system administrator for help with this step, as installation directories will vary from site to site.


This lab contains a number of examples detailing steps from a serial problem to a parallel solution running on the Intel Xeon Phi coprocessor based on Intel Many Integrated Core Architecture (Intel MIC architecture). Each example starts with the serial version. The first step is always parallelization using Intel® Cilk™ Plus or Intel® Math Kernel Library (Intel® MKL) as a tool to make use of a multi-processor system. In a second step this parallel version is then converted into a program offloading the workload onto the Intel Xeon Phi coprocessor.

For more complete information about compiler optimizations, see our Optimization Notice.