Difference between revisions of "Applications/Intel"
m |
m (→Intel Libraries) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
* Description: | * Description: | ||
− | * Version(s): XE parallel studio 2016, 2017 | + | * Version(s): XE parallel studio 2016, 2017 and 2018 |
− | * Module(s): intel/2016, intel/compiler/64/2016, intel/ipp/64/11.0, intel/mkl/64/11.3, intel/mpi/64/5.1.3.181, intel/vtune/32/2016.2.181, intel/2017, intel/compiler/64/2016.2.181, intel/ipp/64/9.0.2, intel/mkl/64/11.3.2, intel/tbb/64/2016, intel/vtune/64/2016, intel/advisor/64/2016, intel/inspector/64/2016, intel/itac/64/9.1, intel/mkl/mic/11.3, intel/tbb/64/2016.2.181, intel/vtune/64/2016.2.181, intel/advisor/64/2016.2.181, intel/inspector/64/2016.2.181, intel/itac/64/9.1.2p, intel/mkl/mic/11.3.2, intel/vtune/32/2016 | + | * Module(s): intel/2016, intel/compiler/64/2016, intel/ipp/64/11.0, intel/mkl/64/11.3, intel/mpi/64/5.1.3.181, intel/vtune/32/2016.2.181, intel/2017, intel/compiler/64/2016.2.181, intel/ipp/64/9.0.2, intel/mkl/64/11.3.2, intel/tbb/64/2016, intel/vtune/64/2016, intel/advisor/64/2016, intel/inspector/64/2016, intel/itac/64/9.1, intel/mkl/mic/11.3, intel/tbb/64/2016.2.181, intel/vtune/64/2016.2.181, intel/advisor/64/2016.2.181, intel/inspector/64/2016.2.181, intel/itac/64/9.1.2p, intel/mkl/mic/11.3.2, intel/vtune/32/2016 and intel/mpi/64/2018 |
* Licence: Intel (closed source) | * Licence: Intel (closed source) | ||
==Usage Examples== | ==Usage Examples== | ||
− | Intel compilers are | + | Intel compilers are optimised for computer systems using processors that support Intel architectures. They are designed to minimise stalls and to produce code that executes in the fewest possible number of cycles. The Intel C++ Compiler supports three separate high-level techniques for optimising the compiled program: inter-procedural optimisation (IPO), profile-guided optimisation (PGO), and high-level optimisation (HLO). The Intel C++ compiler in the Parallel Studio XE products also supports tools, techniques and language extensions for adding and maintaining application parallelism on IA-32 and Intel 64 processors and enables compiling for Intel Xeon Phi processors and co-processors. |
− | * Profile-guided | + | * Profile-guided optimisation refers to a mode of optimisation where the compiler is able to access data from a sample run of the program across a representative input set. The data would indicate which areas of the program are executed more frequently, and which areas are executed less frequently. All optimisations benefit from profile-guided feedback because they are less reliant on heuristics when making compilation decisions. |
− | * High-level | + | * High-level optimisations are optimisations performed on a version of the program that more closely represents the source code. This includes loop interchange, loop fusion, loop unrolling, loop distribution, data prefetch, and more. |
− | * Inter-procedural | + | * Inter-procedural optimisation applies typical compiler optimisations (such as constant propagation) but uses a broader scope that may include multiple procedures, multiple files, or the entire program. |
− | |||
===Modules=== | ===Modules=== | ||
Line 31: | Line 30: | ||
|- | |- | ||
| intel/advisor/64/2016 | | intel/advisor/64/2016 | ||
− | | Intel Advisor - vectorization optimization and thread prototyping | + | | Intel Advisor - vectorization optimization and thread prototyping (64 bit - XE 2016) |
|- | |- | ||
| intel/advisor/64/2016.2.181 | | intel/advisor/64/2016.2.181 | ||
− | | Intel Advisor - vectorization optimization and thread prototyping | + | | Intel Advisor - vectorization optimization and thread prototyping (64 bit - XE 2016) |
|- | |- | ||
| intel/compiler/64/2016 | | intel/compiler/64/2016 | ||
− | | Intel | + | | Intel compiler (64 bit - XE 2016) |
|- | |- | ||
| intel/compiler/64/2016.2.181 | | intel/compiler/64/2016.2.181 | ||
− | | | + | | Intel compiler (64 bit - XE 2016) |
|- | |- | ||
| intel/inspector/64/2016 | | intel/inspector/64/2016 | ||
− | | Intel Inspector - memory and thread debugger | + | | Intel Inspector - memory and thread debugger (64 bit - XE 2016) |
|- | |- | ||
| intel/inspector/64/2016.2.181| intel/itac/64/9.1.2p | | intel/inspector/64/2016.2.181| intel/itac/64/9.1.2p | ||
− | | Intel Inspector - memory and thread debugger | + | | Intel Inspector - memory and thread debugger (64 bit - XE 2016) |
|- | |- | ||
| intel/ipp/64/11.0 | | intel/ipp/64/11.0 | ||
− | | Intel Integrated Performance Primitives (IPP) | + | | Intel Integrated Performance Primitives (IPP) (64 bit) |
|- | |- | ||
| intel/ipp/64/9.0.2 | | intel/ipp/64/9.0.2 | ||
− | | Intel Integrated Performance Primitives (IPP) | + | | Intel Integrated Performance Primitives (IPP) (64 bit) |
|- | |- | ||
| intel/itac/64/9.1 | | intel/itac/64/9.1 | ||
− | | Intel® Trace Analyzer and Collector 2017 is a graphical tool for understanding MPI application behaviour, quickly finding bottlenecks, improving correctness, and achieving high performance for parallel cluster applications. | + | | Intel® Trace Analyzer and Collector 2017 is a graphical tool for understanding MPI application behaviour, quickly finding bottlenecks, improving correctness, and achieving high performance for parallel cluster applications. (64 bit) |
|- | |- | ||
| intel/mkl/64/11.3 | | intel/mkl/64/11.3 | ||
− | | Intel Math Kernel Library (MKL) | + | | Intel Math Kernel Library (MKL) (64 bit) |
|- | |- | ||
| intel/mkl/64/11.3.2 | | intel/mkl/64/11.3.2 | ||
− | | Intel Math Kernel Library (MKL) | + | | Intel Math Kernel Library (MKL) (64 bit) |
|- | |- | ||
| intel/mkl/mic/11.3 | | intel/mkl/mic/11.3 | ||
− | | Intel Math Kernel Library (MKL) | + | | Intel Math Kernel Library (MKL) |
|- | |- | ||
| intel/mkl/mic/11.3.2 | | intel/mkl/mic/11.3.2 | ||
− | | Intel Math Kernel Library (MKL) | + | | Intel Math Kernel Library (MKL) |
|- | |- | ||
| intel/mpi/64/5.1.3.181 | | intel/mpi/64/5.1.3.181 | ||
− | | Intel MPI Library (MPI) | + | | Intel MPI Library (MPI) (64 bit) |
|- | |- | ||
| intel/tbb/64/2016 | | intel/tbb/64/2016 | ||
− | | Intel Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance | + | | Intel Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance (64 bit - XE 2016) |
|- | |- | ||
| intel/tbb/64/2016.2.181 | | intel/tbb/64/2016.2.181 | ||
− | | Intel® Threading Building Blocks (Intel® TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance | + | | Intel® Threading Building Blocks (Intel® TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance (64 bit - XE 2016) |
|- | |- | ||
| intel/vtune/32/2016 | | intel/vtune/32/2016 | ||
− | | Intel VTune Amplifier - performance profiler | + | | Intel VTune Amplifier - performance profiler (32 bit - XE 2016) |
|- | |- | ||
| intel/vtune/32/2016.2.181 | | intel/vtune/32/2016.2.181 | ||
− | | Intel VTune Amplifier - performance profiler | + | | Intel VTune Amplifier - performance profiler (32 bit - XE 2016) |
|- | |- | ||
| intel/vtune/64/2016 | | intel/vtune/64/2016 | ||
− | | Intel VTune Amplifier - performance profiler | + | | Intel VTune Amplifier - performance profiler (64 bit - XE 2016) |
|- | |- | ||
| intel/vtune/64/2016.2.181 | | intel/vtune/64/2016.2.181 | ||
− | | Intel VTune Amplifier - performance profiler | + | | Intel VTune Amplifier - performance profiler (64 bit - XE 2016) |
|- | |- | ||
|} | |} | ||
+ | ==Compiler Use== | ||
+ | ===Prerequisites=== | ||
+ | |||
+ | To invoke the compiler from the command line, first, you need to load the module: | ||
+ | |||
+ | <pre style="background-color: black; color: white; border: 2px solid black; font-family: monospace, sans-serif;"> | ||
+ | [user@login01]$ module purge | ||
+ | [user@login01]$ module add intel/compiler/64/2016 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ===Using the Command Line=== | ||
+ | |||
+ | To invoke the compiler from the command line, use a command similar to the following: | ||
+ | |||
+ | use 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 file : '''ifort my_source.f17''' | ||
+ | |||
+ | Following successful compilation, the compiler creates an executable file (usually '''a.out''' if not specified in the command line) in the current directory. | ||
+ | |||
+ | ===Intel Libraries=== | ||
+ | |||
+ | The size of the Intel compiler and its tools is beyond the scope of this document. | ||
+ | However, Intel Release Notes of each component included in the Intel Parallel Studio XE suites are below: | ||
+ | |||
+ | * [https://software.intel.com/en-us/articles/intel-c-compiler-170-release-notes Intel® C++ Compiler Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-fortran-compiler-170-release-notes Intel® Fortran Compiler Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-2017-release-notes Intel® Math Kernel Library (Intel® MKL) Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-2017-release-notes Intel® Integrated Performance Primitives (Intel® IPP) Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes Intel® Threading Building Blocks (Intel® TBB) Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-daal-2017-release-notes Intel® Data Analytics Acceleration Library (Intel® DAAL) Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-vtune-amplifier-xe-release-notes Intel® VTune™ Amplifier Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-advisor-xe-release-notes Intel® Advisor Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-inspector-xe-release-notes Intel® Inspector Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-mpi-library-release-notes Intel® MPI Library Release Notes] | ||
+ | * [https://software.intel.com/en-us/articles/intel-trace-analyzer-and-collector-release-notes Intel® Trace Analyzer and Collector Release Notes] | ||
==Further Information== | ==Further Information== | ||
Line 101: | Line 139: | ||
* [https://software.intel.com/en-us/articles/intel-parallel-studio-xe-release-notes https://software.intel.com/en-us/articles/intel-parallel-studio-xe-release-notes] | * [https://software.intel.com/en-us/articles/intel-parallel-studio-xe-release-notes https://software.intel.com/en-us/articles/intel-parallel-studio-xe-release-notes] | ||
− | { | + | {{Modulepagenav}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 09:54, 23 March 2023
Contents
Application Details
- Description:
- Version(s): XE parallel studio 2016, 2017 and 2018
- Module(s): intel/2016, intel/compiler/64/2016, intel/ipp/64/11.0, intel/mkl/64/11.3, intel/mpi/64/5.1.3.181, intel/vtune/32/2016.2.181, intel/2017, intel/compiler/64/2016.2.181, intel/ipp/64/9.0.2, intel/mkl/64/11.3.2, intel/tbb/64/2016, intel/vtune/64/2016, intel/advisor/64/2016, intel/inspector/64/2016, intel/itac/64/9.1, intel/mkl/mic/11.3, intel/tbb/64/2016.2.181, intel/vtune/64/2016.2.181, intel/advisor/64/2016.2.181, intel/inspector/64/2016.2.181, intel/itac/64/9.1.2p, intel/mkl/mic/11.3.2, intel/vtune/32/2016 and intel/mpi/64/2018
- Licence: Intel (closed source)
Usage Examples
Intel compilers are optimised for computer systems using processors that support Intel architectures. They are designed to minimise stalls and to produce code that executes in the fewest possible number of cycles. The Intel C++ Compiler supports three separate high-level techniques for optimising the compiled program: inter-procedural optimisation (IPO), profile-guided optimisation (PGO), and high-level optimisation (HLO). The Intel C++ compiler in the Parallel Studio XE products also supports tools, techniques and language extensions for adding and maintaining application parallelism on IA-32 and Intel 64 processors and enables compiling for Intel Xeon Phi processors and co-processors.
- Profile-guided optimisation refers to a mode of optimisation where the compiler is able to access data from a sample run of the program across a representative input set. The data would indicate which areas of the program are executed more frequently, and which areas are executed less frequently. All optimisations benefit from profile-guided feedback because they are less reliant on heuristics when making compilation decisions.
- High-level optimisations are optimisations performed on a version of the program that more closely represents the source code. This includes loop interchange, loop fusion, loop unrolling, loop distribution, data prefetch, and more.
- Inter-procedural optimisation applies typical compiler optimisations (such as constant propagation) but uses a broader scope that may include multiple procedures, multiple files, or the entire program.
Modules
Area | Description |
intel/2016 | Intel Parallel Studio XE 2016 |
intel/2017 | Intel Parallel Studio XE 2017 |
intel/advisor/64/2016 | Intel Advisor - vectorization optimization and thread prototyping (64 bit - XE 2016) |
intel/advisor/64/2016.2.181 | Intel Advisor - vectorization optimization and thread prototyping (64 bit - XE 2016) |
intel/compiler/64/2016 | Intel compiler (64 bit - XE 2016) |
intel/compiler/64/2016.2.181 | Intel compiler (64 bit - XE 2016) |
intel/inspector/64/2016 | Intel Inspector - memory and thread debugger (64 bit - XE 2016) |
intel/itac/64/9.1.2p | Intel Inspector - memory and thread debugger (64 bit - XE 2016) |
intel/ipp/64/11.0 | Intel Integrated Performance Primitives (IPP) (64 bit) |
intel/ipp/64/9.0.2 | Intel Integrated Performance Primitives (IPP) (64 bit) |
intel/itac/64/9.1 | Intel® Trace Analyzer and Collector 2017 is a graphical tool for understanding MPI application behaviour, quickly finding bottlenecks, improving correctness, and achieving high performance for parallel cluster applications. (64 bit) |
intel/mkl/64/11.3 | Intel Math Kernel Library (MKL) (64 bit) |
intel/mkl/64/11.3.2 | Intel Math Kernel Library (MKL) (64 bit) |
intel/mkl/mic/11.3 | Intel Math Kernel Library (MKL) |
intel/mkl/mic/11.3.2 | Intel Math Kernel Library (MKL) |
intel/mpi/64/5.1.3.181 | Intel MPI Library (MPI) (64 bit) |
intel/tbb/64/2016 | Intel Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance (64 bit - XE 2016) |
intel/tbb/64/2016.2.181 | Intel® Threading Building Blocks (Intel® TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance (64 bit - XE 2016) |
intel/vtune/32/2016 | Intel VTune Amplifier - performance profiler (32 bit - XE 2016) |
intel/vtune/32/2016.2.181 | Intel VTune Amplifier - performance profiler (32 bit - XE 2016) |
intel/vtune/64/2016 | Intel VTune Amplifier - performance profiler (64 bit - XE 2016) |
intel/vtune/64/2016.2.181 | Intel VTune Amplifier - performance profiler (64 bit - XE 2016) |
Compiler Use
Prerequisites
To invoke the compiler from the command line, first, you need to load the module:
[user@login01]$ module purge [user@login01]$ module add intel/compiler/64/2016
Using the Command Line
To invoke the compiler from the command line, use a command similar to the following:
use 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 file : ifort my_source.f17
Following successful compilation, the compiler creates an executable file (usually a.out if not specified in the command line) in the current directory.
Intel Libraries
The size of the Intel compiler and its tools is beyond the scope of this document. However, Intel Release Notes of each component included in the Intel Parallel Studio XE suites are below:
- Intel® C++ Compiler Release Notes
- Intel® Fortran Compiler Release Notes
- Intel® Math Kernel Library (Intel® MKL) Release Notes
- Intel® Integrated Performance Primitives (Intel® IPP) Release Notes
- Intel® Threading Building Blocks (Intel® TBB) Release Notes
- Intel® Data Analytics Acceleration Library (Intel® DAAL) Release Notes
- Intel® VTune™ Amplifier Release Notes
- Intel® Advisor Release Notes
- Intel® Inspector Release Notes
- Intel® MPI Library Release Notes
- Intel® Trace Analyzer and Collector Release Notes