Техника оптимизации под линуха

цикл который нельзя векторизовать


Поскольку, последующая ячейка (a[i]) вычисляется на основе предыдущей (a[i-1]) данные не могут обрабатываться параллельно.

Компилятор msvc не поддерживает векторизацию, а icl поддерживает, но задействует ее только в том случае, если указан ключ –ax. Компилятор gcc поддерживает векторизацию только начиная с версии 3.4.3, да и то если присутствует флаг -ftree-vectorize.

* msvc:  не векторизует

* icl:       векторизует

*gcc:      векторизует начиная с версии 3.4.3



Содержание раздела