intel® parallel studio xe 2016 beta - uni-graz.at•intel compiler ≥ 15.0 advisor •survey...

13
Intel® Parallel Studio XE 2016 Beta

Upload: others

Post on 20-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Intel® Parallel Studio XE 2016 Beta

Page 2: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops
Page 3: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Advisor – General Information

• Identify – if loops use SIMD – What prevents vectorization – Performance efficiency

• Shows – Loop trip counts – CPU time – Memory access patters – Recommendations for optimization

• C/C++ • Fortran • Intel Compiler ≥ 15.0

Page 4: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Advisor

• Survey analysis

– Vectorized loop parts

– Why a loop is not vectorized

– Vectorized loops

(efficiency, gain, vector length)

– Instruction set analysis

(traits, data types)

– Optimization info (transformations, unroll factor, estimated achieved gain, vector width,

vectorization details, optimization details)

Page 5: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Advisor

• Trip count analysis – Median – Minimum – Maximum – Call counts

• Correctness analysis – Checks cross-iteration dependencies (usefull to check if there is the message „assumed dependence

prevents vectorization“)

• Memory Access Patterns analysis – Traces memory access instructions, detects patterns

Page 6: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Advisor - Getting started

• Download:

software.intel.com/en-us/articles/intel-parallel-studio-xe-2016-beta

• source /opt/intel/advisor_xe_2016/advixe-vars.sh

• advixe-gui or advixe-cl

• (Set /proc/sys/kernel/yama/ptrace_scope to 0)

• Create a new project:

Specify location

Specify executable

Optional other settings

Page 7: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Workflow

Page 8: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Survey Report

Page 9: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Survey Report

Page 10: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Survey Report

Page 11: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Survey Report

Page 12: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Correctness Analysis (optional)

Page 13: Intel® Parallel Studio XE 2016 Beta - uni-graz.at•Intel Compiler ≥ 15.0 Advisor •Survey analysis –Vectorized loop parts –Why a loop is not vectorized –Vectorized loops

Suitability Report