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. Registered users can also download an offline version of the documentation from the Intel® Software Products 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

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 2019 Beta for debugging applications natively on Intel® 64 Architecture systems.

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

 

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

 

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

Intel, the Intel logo, Intel Atom, Intel Core, Intel Cilk, Intel VTune, MMX, Pentium, Xeon, and Intel Xeon Phi are trademarks of Intel Corporation in the U.S. and/or other countries.

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

Copyright 1996-2018 Intel Corporation.

This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.

This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.

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