jeudi 26 février 2015

Do today's modern compilers support run time checks?


I came across this statement at : auto-vectorization in intel compiler



#pragma ivdep

void copy(char *cp_a, char *cp_b, int n) {

for (int i = 0; i < n; i++) {

cp_a[i] = cp_b[i];

}


if the loop is guaranteed to operate on non-overlapping memory regions, you can provide this information to the compiler by means of a #pragma ivdep hint before the loop, which informs the compiler that conservatively assumed data dependencies that prevent vectorization can be ignored. This results in vectorization of the loop without run-time data-dependency testing.


So who performs these RUN TIME DATA DEPENDENCY TEST ? Is it done by the compiler at run time ?





Aucun commentaire:

Enregistrer un commentaire