Difference between revisions of "Applications/Intel"

From HPC
Jump to: navigation , search
m
m
Line 4: Line 4:
  
 
* Description:  
 
* Description:  
* Version(s):legacy, 4.9.3, 5.2.0, 6.3.0
+
* Version(s): XE parallel studio 2016, 2017
* Module(s):gcc/legacy, gcc/4.9.3, gcc/5.2.0, gcc/6.3.0
+
* 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
 
* Licence: Intel (closed source)
 
* Licence: Intel (closed source)
  
Line 14: Line 14:
 
* Profile-guided optimization refers to a mode of optimization 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 optimizations benefit from profile-guided feedback because they are less reliant on heuristics when making compilation decisions.
 
* Profile-guided optimization refers to a mode of optimization 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 optimizations benefit from profile-guided feedback because they are less reliant on heuristics when making compilation decisions.
 
* High-level optimizations are optimizations 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.
 
* High-level optimizations are optimizations 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.
* Interprocedural optimization applies typical compiler optimizations (such as constant propagation) but using a broader scope that may include multiple procedures, multiple files, or the entire program.[6]
+
* Inter-procedural optimization applies typical compiler optimizations (such as constant propagation) but using a broader scope that may include multiple procedures, multiple files, or the entire program.
  
 
Intel's compiler has been criticized for applying, by default, floating-point optimizations not allowed by the C standard and that require special flags with other compilers such as gcc.
 
Intel's compiler has been criticized for applying, by default, floating-point optimizations not allowed by the C standard and that require special flags with other compilers such as gcc.

Revision as of 10:20, 11 April 2017

Application Details

  • Description:
  • Version(s): XE parallel studio 2016, 2017
  • 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
  • Licence: Intel (closed source)

Usage Examples

Intel compilers are optimized to computer systems using processors that support Intel architectures. They are designed to minimize 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 optimizing the compiled program: interprocedural optimization (IPO), profile-guided optimization (PGO), and high-level optimizations (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 coprocessors.

  • Profile-guided optimization refers to a mode of optimization 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 optimizations benefit from profile-guided feedback because they are less reliant on heuristics when making compilation decisions.
  • High-level optimizations are optimizations 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 optimization applies typical compiler optimizations (such as constant propagation) but using a broader scope that may include multiple procedures, multiple files, or the entire program.

Intel's compiler has been criticized for applying, by default, floating-point optimizations not allowed by the C standard and that require special flags with other compilers such as gcc.

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
intel/advisor/64/2016.2.181 Intel Advisor - vectorization optimization and thread prototyping
intel/compiler/64/2016 Intel
intel/compiler/64/2016.2.181
intel/inspector/64/2016 Intel Inspector - memory and thread debugger
intel/itac/64/9.1.2p Intel Inspector - memory and thread debugger
intel/ipp/64/11.0 Intel Integrated Performance Primitives (IPP)
intel/ipp/64/9.0.2 Intel Integrated Performance Primitives (IPP)
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/mkl/64/11.3 Intel Math Kernel Library (MKL)
intel/mkl/64/11.3.2 Intel Math Kernel Library (MKL)
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)
intel/tbb/64/2016 Intel Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance
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/vtune/32/2016 Intel VTune Amplifier - performance profiler
intel/vtune/32/2016.2.181 Intel VTune Amplifier - performance profiler
intel/vtune/64/2016 Intel VTune Amplifier - performance profiler
intel/vtune/64/2016.2.181 Intel VTune Amplifier - performance profiler



Further Information

Icon home.png