This article makes recommendations for how a developer can get up to speed quickly on the Intel® Many Integrated Core (Intel® MIC) Architecture. This is one of three articles: For the Administrator, for the Developer, and for the Investigator.
Administrator– This is someone whose responsibility will be to administrate an Intel® Xeon Phi™ coprocessors, whether a single server with one or more cards, or a large cluster.
Developer– This is someone who will be programming on an Intel Xeon Phi coprocessor.
Investigator– This is someone who is evaluating whether their facility or staff should support the coprocessor. This also includes persons who desire to learn more about the coprocessor but who are not currently tasked to program or administer an Intel MIC system.
These articles make certain assumptions about what topics are most important to individuals in the different categories. For example, the documentation on cluster administration probably is not of interest to a developer. Similarly, the syntax and semantics of kmp_affinity is of little interest to an administrator. And though an investigator may be a programmer, they are unlikely to consider the syntax and semantics of the “pragma simd” annotation playing any significant role in an investigation of whether their facility should support an Intel Xeon Phi coprocessor cluster.
The following table lays out the most important categories that an administrator wants to know. References addressing those categories then follow. The intent of these references is not to be inclusive but only a good starting point. As an administrator, you will need to explore beyond these areas, but it is hoped that this article provides the beginnings of a path to help you along your way.
TERMINOLOGY AND NOTATION
MIC-IDZ – http://software.intel.com/mic-developer; this is the “Landing page” on the Intel® Developer Zone for Intel Many Integrated Core (Intel MIC) technical information.
AAA => BBB => CCC – This is a simple notation for navigating links, sections, documents, etc. Its intent is to be simple and clear but not precise. Even so, it should be obvious as to where to navigate next. For example, depending upon its context, “=> BBB” could mean “got to tab BBB”, “look under section BBB” or “open document BBB”.
Who is a Developer?
Someone who will be programming on an Intel Many Integrated Core (Intel MIC) architecture. The assumption is that they are most interested in:
- Brief Introduction to the Intel MIC development environment
- Programming models
- Hardware architecture
- Software stack
- Coprocessor specific drivers and tools – Intel Manycore Platform Software Stack (Intel MPSS)
- Compilers
- Libraries
- Tools
- Examples and tutorials
- SW Developer’s Guide
- Programmer’s Guide
- Optimization Guide
- Getting help and other support
The list below describes how to navigate to resources that address these interests. A more direct URL is also given. Note that the URL and navigation may change at some point in the future.
We suggest using the navigation instructions. Even if the navigation changes slightly, you will still be able to get to the information. You will also discover the locations of other information that you will find useful as you continue to work with the coprocessor.
Technical Resources
Brief Introduction to the MIC Development Environment
- The Packaging, Reference Guides, User Guides, BKMs, Getting Support
Navigation: MIC-IDZ => Tools & Downloads => Intel® Software Development Tools Demystified: The Packaging, Reference Guides, User Guides, BKMs, Getting Support
URL: http://software.intel.com/en-us/articles/intel-tools-reference-guides-user-guides-bkms-getting-support - Programming Overview
Navigation: MIC-IDZ => Overview => Getting Started => Is Intel Xeon Phi coprocessor right for you? => Link => An Overview of Programming for Intel® Xeon Processors and Intel Xeon Phi Coprocessors
URL: http://download-software.intel.com/sites/default/files/article/330164/an-overview-of-programming-for-intel-xeon-processors-and-intel-xeon-phi-coprocessors_1.pdf - Software Developer’s Guide
Navigation: MIC-IDZ => Tools & Downloads => Intel Xeon Phi Coprocessor Software Developer’s Guide => section 2.2
URL: http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-system-software-developers-guide
Programming Models
- Intel® Math Kernel Library
Navigation: MIC-IDZ => Programming => Programming for Multicore and Many-core Products
URL:http://software.intel.com/en-us/articles/programming-for-multicore-and-many-core-products
- Training Videos (older)
Navigation: MIC-IDZ => Training => Beginning Workshops => Compiling
Also: On YouTube
Navigation: MIC-IDZ => Programming => Programming => Programming and Compiling
URL:http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture
- Training Material (most recent)
Navigation: MIC-IDZ => Training => Training Presentations => Intel Xeon Phi Coprocessor Offloading Computation
Navigation: MIC-IDZ => Training => Training Presentations => Intel Xeon Phi Coprocessor Advanced Offload Topics
- Books
Jeffers, James, James Reinders, "Intel Xeon Phi Coprocessor High Performance Programming," Morgan Kaufmann, 2013.
Hardware Architecture
- Architecture
Navigation: MIC-IDZ => Overview => Intel Xeon Phi Coprocessor Architecture
URL:http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-codename-knights-corner
- Instruction Set Architecture
Navigation: MIC-IDZ => Overview => Intel Xeon Phi Coprocessor Instruction Set Architecture Reference Manual
URL:http://download-software.intel.com/sites/default/files/forum/278102/327364001en.pdf
- Training Videos (older)
Navigation: MIC-IDZ => Training => Beginning Workshops => Beginning Intel Xeon Phi Coprocessor Workshop
Also: On YouTube
- Training Material (most recent)
Navigation: MIC-IDZ => Training => Training Presentations => Intel Xeon Phi Coprocessor Architecture Overview
- Books
Rahman, Rezaur, "Intel Xeon Phi Coprocessor Architecture and Tools: The Guide for Application Developers," Apress, 2013.
Software Stack (Intel MIC specific)
Intel Manycore Platform Software Stack (Intel MPSS): See “Coprocessor Specific Drivers and Tools” below.
Networking Infrastructure
The host and coprocessor use a standard Linux* OS and support most of the typical networking protocols, including NFS, IP, TCP/IP & UDP. Note that “support” does not imply they are in the default installation.
Coprocessor Specific Drivers and Tools
- Intel Manycore Platform Software Stack (Intel MPSS)
Navigation: MIC-IDZ => Tools & Downloads => Software Drivers: Intel Manycore Platform Software Stack (Intel MPSS) => MPSS 3.x release for Linux => MPSS_Users_Guide.pdf
URL: http://registrationcenter.intel.com/irc_nas/3678/MPSS_Users_Guide.pdf
Navigation: MIC-IDZ => Tools & Downloads => Software Drivers: Intel Manycore Platform Software Stack (Intel MPSS) => MPSS 3.x release for Microsoft* Windows => MPSS_Users_Guide.pdf
URL: http://registrationcenter.intel.com/irc_nas/3574/Windows_MPSS_Users_Guide.pdf
- Admin tools
Navigation: MIC-IDZ => Overview => System Administration Guide
URL: http://software.intel.com/en-us/articles/system-administration-for-the-intel-xeon-phi-coprocessor
- Configurations
Navigation: MIC-IDZ => Tools & Downloads => “Software Drivers: Intel Manycore Platform Software Stack (Intel MPSS)”
URL: http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss; see the MPSS_Boot_Config_Guide.pdf
Languages available from Intel
- Compilers
Navigation: MIC-IDZ => Software Development Products => Intel® C/C++ and Fortran Compilers
URL: http://software.intel.com/en-us/intel-composer-xe
Navigation: MIC-IDZ => Software Development Products => Intel C/C++ and Fortran Compilers => Related Content => Documentation => (C/C++ or Fortran)
URL (C/C++): http://software.intel.com/articles/intel-c-composer-xe-documentation
URL (Fortran): http://software.intel.com/articles/intel-fortran-composer-xe-documentation/
Navigation: MIC-IDZ => Search( “OpenCL Phi” ) => OpenCL on Xeon Phi
URL: http://software.intel.com/en-us/forums/topic/382241#comment-1729511
- Scripting
The coprocessor and host use standard Linux which supports the standard scripting languages. Note that since the Linux on the coprocessor is minimal, you may have to compile interpreters for the coprocessor.
Libraries available from Intel
- Intel Math Kernel Library
Navigation: MIC-IDZ => Software Development Products => Intel Math Kernel Library
URL: http://software.intel.com/en-us/intel-mkl
- Intel® Threading Building Blocks 4.x
Navigation: MIC-IDZ => Software Development Products => Intel® Parallel Studio XE => Intel Threading Building Blocks
URL: http://software.intel.com/en-us/intel-tbb
- Intel® MPI Library
Navigation: MIC-IDZ => Software Development Products => Intel MPI Library
URL: http://software.intel.com/en-us/intel-mpi-library
- Intel® SDK for OpenCL* Applications 2013
Navigation: software.intel.com/ search => You searched for:(opencl sdk) => “Landing Page” => Intel® SDK for OpenCL* Applications 2013
URL: http://software.intel.com/en-us/vcsource/tools/opencl-sdk
- Building 3rd party libraries
Navigation: MIC-IDZ => Programming => Programming => Building Native Applications => “Building a Native Application for Intel Xeon Phi Coprocessors” => Building Libraries
URL: http://software.intel.com/en-us/articles/building-a-native-application-for-intel-xeon-phi-coprocessors
Tools
- Programming
Navigation: MIC-IDZ => Programming => Programming
- Intel® VTune™ Performance Analyzer
URL: http://software.intel.com/en-us/intel-vtune-amplifier-xe
URL: Performance Monitoring Units (http://software.intel.com/sites/default/files/forum/278102/intelr-xeon-phitm-pmu-rev1.01.pdf)
Examples and Tutorials
- Tutorials
Navigation: MIC-IDZ => Programming => Programming => Programming and Compiling
URL: http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture )
- Code Samples on the Intel Developer Zone
Navigation: MIC-IDZ => Training => Code Samples
- Code Samples in the Compiler Installation
Path: /opt/intel/composerxe/Samples/en_US – note that this location may differ on your system; also, the location is not guaranteed to remain
Path: /opt/intel/composerxe/Documentation/en_US – for some tutorials
Path: /opt/intel/mkl/examples/
SW Developer’s Guide
Navigation: MIC-IDZ => Programming => Programming => Intel Xeon Phi Coprocessor Software Developer’s Guide. Note that this is a System Software Developer’s Guide.
URL: http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-system-software-developers-guide
Navigation: MIC-IDZ => Programming => Programming => Programming and Compiling
URL: http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture
Programmer Guides
Navigation: MIC-IDZ => Programming => Programming => Programming and Compiling
URL: http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architecture
Navigation: MIC-IDZ => Programming => Programming => Building Native Application
URL: http://software.intel.com/en-us/articles/building-a-native-application-for-intel-xeon-phi-coprocessors
Navigation: MIC-IDZ => Programming => Programming => Using OpenMP* extensions
URL: http://software.intel.com/en-us/articles/best-known-methods-for-using-openmp-on-intel-many-integrated-core-intel-mic-architecture
Optimization Guides
MIC-IDZ => Programming => Optimization
URL: http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization
URL: http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-2-understanding
Getting help and other support
- Resources
Navigation: MIC-IDZ
URL: http://software.intel.com/mic-developer
- Questions (Intel® Corporation)
Navigation: MIC-IDZ => Get Support => Intel® Many Integrated Core Architecture Forum
URL: http://software.intel.com/en-us/forums/intel-many-integrated-core
- Training and questions
Colfax Research*: http://www.colfax-intl.com/nd/xeonphi.aspx
Texas Advanced Computing Center (TACC)*: http://www.tacc.utexas.edu/user-services/training
Acceleware*: http://www.acceleware.com/xeon-phi-training
CAPS*: http://www.caps-entreprise.com
Purdue University*: http://www.rcac.purdue.edu/userinfo/resources/conte/