Вы находитесь на старом сайте МЦСТ. Актуальный материал смотрите на новом сайте.

Методы повышения эффективности векторизации в оптимизирующем компиляторе

Коэффициенты уменьшения времени исполнения за счет векторизации
Коэффициенты уменьшения времени исполнения за счет векторизации

Широкое распространение мультимедийных приложений привело к тому, что сейчас практически во всех скалярных процессорах общего назначения присутствует набор коротких векторных инструкций. Как показывает практика, их использование позволяет значительно увеличить производительность процессоров на задачах этого класса. Тем не менее, до сих пор остается распространенным подход, когда векторные инструкции вводятся в код в составе ассемблерных вставок или вызовов специальных библиотечных функций. Это приводит к увеличению сложности разработки и негативно влияет на переносимость программных продуктов. Кроме того, появление новых векторных инструкций в архитектуре современных процессоров зачастую приводит к необходимости дорабатывать давно отлаженный код для повышения его производительности. Внедрение автоматической векторизации в состав оптимизирующих компиляторов позволяет решить эти проблемы, значительно упростив создание новых и усовершенствование уже разработанных высокопроизводительных приложений.

Методы автоматической векторизации исследуются достаточно давно [1 – 6], тем не менее, при векторизации ряда приложений возникает множество трудностей, связанных с недостаточным количеством информации о компилируемой задаче и аппаратными ограничениями, такими как выравненность операций обращения к памяти [7]. Также, в ряде случаев, для проведения векторизации необходимо модифицировать алгоритм вычислений. Все это приводит к снижению производительности и препятствует автоматической векторизации. Статья посвящена вспомогательным преобразованиям, разработанным для преодоления подобных трудностей.

Подробнее... Загрузить файл 

Содержание:

Введение
1. Технология векторизации
2. Вспомогательные преобразования

2.1. Открутка итераций цикла
2.2. Создание версий цикла
2.3. Скрутка цикла

3. Результаты
Литература

Методы повышения эффективности векторизации в оптимизирующем компиляторе Методы повышения эффективности векторизации в оптимизирующем компиляторе

В статье описаны вспомогательные преобразования, позволяющие существенно расширить контекст для применения автоматической векторизации и повысить ее эффективность.

old.mcst.ru