Showing results for 
Search instead for 
Did you mean: 
Black Belt

XE2017u4 KNC increased vectorization threshold

I have some cases where the new update doesn't want to auto-vectorize for a correctly assessed vector speedup of 1.5x to 2.0x, so now

#if  __MIC__

!dir$ simd


(avoiding array assignment synttax) is needed to retain performance.

Similar cases for previous 2017 builds in C have been requiring conditional compilation with

#if ! __MIC__

#pragma omp simd safelen(1)


because the compiler is too aggressive when compiling for AVX2, and the update didn't require a change in source code.

Cilk plus still makes the optimum decision about vectorization of CEAN for both KNC and AVX2.

0 Kudos
0 Replies