Absoft VAST

Программное обеспечение Absoft VAST - это семейство мощных инструментов параллелизации или векторизации кода для повышения производительности работы приложений. Система Absoft VAST позволяет автоматически, всего одним кликом мыши выполнять реструктуризацию кода. При этом оригинальные исходные файлы сохраняются неизмененными. Absoft VAST может генерировать сообщения, уведомляющие разработчика о том, какие части программы были успешно оптимизированы, а какие все еще нуждаются в обработке. Absoft VAST состоит из двух компонентов - VAST-F/Parallel и VAST-F/Vector.
VAST-F/Parallel - может автоматически конвертировать серийный код в код для многоядерных и многопроцессорных систем и является оптимальным для использования вместе с компиляторами, которые не предусматривают возможности автоматической параллелизации. Кроме того, VAST-F/Parallel подходит для совместного применения с компиляторами, включающими функцию автоматической параллелизации, - в этом случае решение добавляет опции дополнительной оптимизации и многопоточности. Реструктуризация кода является автоматической от начала и до конца. Реализована поддержка OpenMP.


Полный анализ наборов (гнезд) циклов.

Расширенные параллельные области.

Анализ зависимостей данных.

Тестирование потенциальных зависимостей.

Категоризация циклов - общие или частные.

Межпроцедурный анализ параллельных вызовов.

Автоматическое распознавание параллельных случаев.

Суперскалярная оптимизация.

Возможность статического или динамического разбиения повторений цикла.

Определение числа потоков с помощью переменных среды и др.

 

VAST-F/Vector - компонент предназначен для полной реализации дополнительной производительности векторных инструкций AltiVec в семействе процессоров IBM Power (G4/G5 Mac/PPC и Linux/Power).


Оптимизация наборов вложенных циклов, а не только внутренних циклов.

Развернутые векторные циклы.

Векторизация условных циклов.

Векторизация не присоединенного вектора.

8, 16 и 32-битная векторизация целых чисел.

Предпроцессорные директивы Disjoint, Aligned и Nodepchk.

Получение сообщений о векторизации от всех циклов программы.

Векторизация комплексных типов данных.

Частичная векторизация циклов и др.