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 Cluster 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

  • Performance profilers to optimize CPU, GPU, bandwidth, parallelism, vectorization, memory and more

  • Memory and thread debugging to root cause difficult intermittent errors

  • High Performance / Low latency MPI communications library

  • MPI profiling and reliability analysis to optimize MPI communication

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 the Eclipse CDT

  • 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 command prompt or script, cd to <install_dir>/parallel_studio_xe_2019.<update number>.<package number>\bin

    By default, <install_dir> is:

    • For root installations: /opt/intel

    • For non-root installations: $HOME/intel

     

  2. Enter source psxevars.sh or source psxevars.csh.

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.

GDB 2019 Beta for debugging applications remotely on Intel® Xeon Phi™ coprocessor systems.

Intel® Debugger for Heterogenous Compute

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® MPI Library

High-performance MPI library.

Intel® MPI Benchmarks

A set of MPI kernel tests to verify the performance of your cluster or MPI implementation.

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.

Increase Performance and Diagnose Errors

increase performance and diagnose errors

Use the following components to detect various errors and improve performance of your application. The flowchart shows how the various tools can help you in various stages of the flow.

TIP: Start your analysis with the Application Performance Snapshot tool if you’re not sure where your application has performance issues.

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

Getting Started Guide

Description

Application Performance Snapshot

Use this tool for quick, simple views into performance optimization opportunities.

Intel® Trace Analyzer and Collector

MPI communications performance profiler and correctness checker. Use this tool in the MPI tuning stage.

Intel® Advisor

Vectorization optimization and thread prototyping. Use this tool in the vectorization and threading stages of the flow.

Intel® Inspector

Memory and thread debugger. Use this tool to find races, deadlocks, and illegal memory accesses.

Intel® VTune™ Amplifier

Performance profiler. Use this tool in the threading and bandwidth optimization stages and for advanced vectorization optimization.

Intel® Cluster Checker

Verification of your system’s configuration, performance, and Intel® Scalable System Framework architecture specification compliance.

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.

Intel® Parallel Studio XE Installation Guide

Describes the installation process for the Intel® Parallel Studio XE.

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.