GCC Graphite - оптимизация 4.8 циклов

Я работаю над фреймворком C++. В текущей версии я обнаружил два узких места. Первый - генерация случайных чисел, а второй (который мотивирует этот вопрос) - использование сильно повторяющихся процессов (тяжелые for loops).

Могут ли некоторые из вас дать мне отзыв о gcc 4.8 относительно оптимизации циклов.

Я прочитал некоторые из немногих доступных материалов по этому вопросу, но, может быть, вы можете сделать для меня более ясным (с более простыми словами), что я могу ожидать от этой ранней версии.

Что один звонок loop normalizationНапример,... Или какое это имеет отношение к многоядерной архитектуре...

Также, что стоит за опциями оптимизации:

-ftree-loop-optimize Выполнить оптимизацию цикла на деревьях. Этот флаг включен по умолчанию при -O и выше.

-ftree-loop-linear Выполнить преобразования обмена циклами на дереве. То же, что -floop-interchange. Чтобы использовать это преобразование кода, GCC должен быть настроен с --with-ppl и --with-cloog, чтобы включить инфраструктуру преобразования цикла Графита.

-floop-interchange Выполнение преобразований обмена циклами в циклах. Чередование двух вложенных циклов переключает внутренний и внешний цикл.

Какие-нибудь эксперты по оптимизации кода и / или компилятора там? Большое спасибо.

NB: я сейчас работаю под Debian 4.7.2, gcc 4.7

0 ответов

Другие вопросы по тегам