Table of Contents:
00:23 - Automatic vectorization feature of the compilers
00:47 - Vectorizing simple code in C
01:01 - Compiler flags for automatic vectorization: -qopt-report -qopt-report-phase:vec
01:17 - Vectorization report
01:30 - Interpreting vectorization report
01:41 - Running vectorized application
01:55 - Porting vectorizable application for MIC architecture
02:04 - Vectorization report for MIC
02:10 - Running vectorized application on MIC
02:16 - Optimization report for automatic vectorization is enables for optimization level -O2
02:27 - Masked vector operations on MIC
02:43 - Limitations of automatic vectorization
02:51 - Only for-loops can be vectorized
03:10 - Memory access must be regular
03:18 - What cannot be vectorized
03:43 - Compiler cannot automagically vectorize your code
04:01 - Summing it up
04:09 - Array notation
04:42 - Operations of slices of arrays
05:18 - Array notation with stride
05:27 - Compiler can vectorize better non-stride array notation than for-loops
05:41 - Operations on entire array with array notation
05:50 - Multidimensional array notation is also supported
05:54 - Fortran array notation
06:05 - Array notation is enabled by default in the Intel C++ compiler
06:15 - Protecting code with __INTEL_COMPILER macro
06:30 - Assumed vector dependence in the next episode