Optimizing performance on parallel hardware

Optimizing performance on parallel hardware is an iterative process. The flow chart shows the various steps involved.

Intel® Parallel Studio XE Composer Edition is a software development tool suite for boosting application performance with less effort:

  • Optimizing compilers use the latest instruction sets

  • Highly tuned performance libraries for machine learning/analytics, data processing, and math

  • Standards based parallel models with optimized run times

Note

The core documentation for the components of Intel® Parallel Studio XE are available at the Intel® Software Documentation Library for viewing online. You can also download an offline version of the documentation from the Intel Registration Center: Product List > Intel® Parallel Studio XE Documentation.

Launching the Tools

After installing Intel® Parallel Studio XE, access these tools in one of the following ways:

  • Using Xcode*. For information about using the compiler with Xcode*, see Using Xcode* in the Getting Started section of the compiler documentation.

  • from the command-line

To easily access the standalone or command line versions of the tools, use the initialization utility, provided with Intel Parallel Studio XE, to initialize all the tools in one step:

  1. From a terminal session, run:

    source <install_dir>/bin/compilervars.sh <arg>

    where <install_dir> is the directory structure containing the compiler /bin directory, and <arg> is one of the following architecture arguments:

    • intel64: Compilers and libraries for Intel® 64 architecture only

    • ia32: Compilers and libraries for IA-32 architecture only

     

    The default path for <install_dir> is /opt/intel/

  2. Invoke the compiler from the command line, using a command similar to the following:

    For C source files: icc my_source_file.c

    For C++ source files: icpc my_source_file.cpp

    For Fortran source files: ifort my_source_file.f90

    Following successful compilation, the compiler creates an executable file in the current directory.

See the Getting Started guides, linked from this page, for additional instructions on the IDE and command lines for the tools in which you are interested.

Design and Build Your Application

Use the following components to build optimized executables and libraries. The flowchart shows how the various tools can help you in various stages of the flow.

Click the links to see Getting Started information for the tools.

Getting Started Guide

Description

Intel® C++ Compiler

C and C++ optimizing compiler creates fast code for modern processors. It uses the latest instruction sets, auto vectorizes code for supporting/utilizing wider vector registers and uses highly tuned parallel models like OpenMP*, and Intel® TBB. It’s a drop-in addition for C and C++ development and has broad support for the latest C and C++ standards.

Intel® Fortran Compiler

High-performance, optimized Fortran compiler with support for the standards driven OpenMP* parallel programming model.

Enhanced GNU* Project Debugger (GDB)

  • GDB 7.12 for debugging applications natively on Intel® 64 Architecture systems.

  • GDB 7.12 for debugging applications remotely on Intel® Xeon Phi™ coprocessor systems.

  • Intel® Debugger for Heterogeneous Compute 2017 - enables debugging CPU and GPU simultaneously.

Intel® Integrated Performance Primitives (Intel® IPP)

Pre-optimized building blocks with computationally intensive functions to help with large dataset problem processing and high-performance computing.

Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography)

Provides a broad range of secure and efficient cryptographic algorithm implementations.

Intel® Math Kernel Library (Intel® MKL)

Intel® Math Kernel Library (Intel® MKL) provides accelerated math processing and neural network routines that increase application performance and reduce development time. Intel® MKL includes highly vectorized and threaded linear algebra, fast Fourier transform (FFT), neural network, vector math, and statistics routines.

Intel® Threading Building Blocks (Intel® TBB)

A C and C++ template library for creating high performance, scalable parallel applications.

Intel® TBB is installed with Parallel STL, an implementation of the C++ standard library algorithms with support for execution policies. For more information, see Getting Started with Parallel STL

Intel® Data Analytics Acceleration Library (Intel® DAAL)

C++, Java* and Python* API library of optimized analytics building blocks for all data analysis stages, from data acquisition to data mining and machine learning. Essential for engineering high performance Big Data applications.

Training and Documentation

Online Training

The online training site is an excellent resource for training materials on Parallel Studio XE tools.

Release Notes

Contains information about this release of the product. This document includes the following sections:

  • Introduction

  • Product Contents

  • What's New

  • System Requirements

  • Installation Notes

  • Documentation

  • Issues and Limitations

  • Technical Support

  • Legal Information

Release Notes are available on the Intel® Developer Zone.

Product Code Samples

Site with samples for Intel® software tools. Filter based on the tools you have installed to see the available samples.

Intel® Software Documentation Library

This is the online documentation library for Intel software products.

 

Legal Information

Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.

*Other names and brands may be claimed as the property of others. 

Copyright 1996-2019 Intel Corporation.

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