-
Notifications
You must be signed in to change notification settings - Fork 18
Home
Система автоматизированного распараллеливания программ SAPFOR (System FOR Automate Parallelization) включает набор различных инструментов, разрабатываемых с целью снижения сложности и уменьшения времени создания параллельных программ на языках программирования Фортран и Си. SAPFOR, являясь частью DVM-системы и разрабатывается в ИПМ им. М.В.Келдыша РАН при активном участии аспирантов и студентов факультета ВМК МГУ им. М.В.Ломоносова.
Разработка системы SAPFOR включает три основных направления исследований:
- Исследование характеристик и свойств программы (профилирование, анализ зависимостей по данным и др.).
- Автоматическое распараллеливание «хорошо» написанных потенциально параллельных программ. Данный подход предполагает следование определенным правилам при разработке программ на традиционных последовательных языках программирования (Фортран и Си), а также возможность дополнительного описание свойств программ с использованием директив определнного вида (например, указание отсутствия зависимостей по данным в цикле).
- Автоматизированное преобразование программ к потенциальному параллельному виду. Устранение зависимостей в программе, оптимизация доступа к памяти, изменение структуры хранения данных и структуры вычислений (подстановка процедур и переменных, преобразование циклов и др.).
Git-репозиторий предоставляет доступ к версии системы SAPFOR, разрабатываемой на базе набора компиляторных технологий LLVM. В данный момент в большей степени поддерживается язык Си, при этом некоторые возможности анализа программ на языке Фортран также уже доступны.
Основным инструментом для анализа и преобразования программ является TSAR (Traits Static AnalyzeR. Инструмент позволяет управлять анализом и преобразованием программ из коммандной строки, в том числе опираясь на результаты динамического анализа програм, реализованного в инструменте DYNA (DYNamic Analyzer) системы SAPFOR.
Если Вы хотите воспользоваться SAPFOR, то посмотрите руководство по сборке и использованию системы. Система может быть собрана как в Unix-подобных системах (Ubuntu, FreeBSD и др.), так и на машинах под управлением ОС Windows. В случае использования Unix-подобных систем требуемые компоненты LLVM могут быть получены из соответсвующих пакетов, при использовании OC Windows потребуется сборка LLVM из исходных кодов.
Некоторые особенности, связанные с процессом разработки SAPFOR, отражены в руководстве разработчика.
Вопросы и замечания можно присылать, воспользовавшись формой связи на сайте проекта DVM-системы.
Написать нам можно через форму связи на сайте проекта DVM-системы.