Автоматизация распараллеливания программ в системе SAPFOR

Авторы

Н.А. Катаев, С.А. Черных

Аннотация

Система SAPFOR (System FOR Automated Parallelization) объединяет различные подходы, направленные на автоматизацию параллельного программирования. С одной стороны SAPFOR включает средства статического и динамического анализа и опирающийся на них автоматически распараллеливающий компилятор. С другой стороны для получения эффективной параллельной программы автоматически часто требуется выполнять предварительное преобразование исходной последовательной программы, а также указывать дополнительные свойства, которые не удается определить средствами анализа. Для этой цели в системе SAPFOR реализованы различные преобразования, которые могут быть выполнены автоматически по запросу пользователя. Для управления процессом распараллеливания используется интерактивная оболочка, которая позволяет объяснить пользователю решения, принимаемые системой, а также задать дополнительные свойства распараллеливаемой программы. В данной статей рассматривается подход к автоматизированному распараллеливанию С программ для систем с общей памятью, реализованный в SAPFOR. Рассматривается применение
интерактивной оболочки в процессе распараллеливания и особенности связанные с отображением программы на ускорители в модели DVMH. В статье приводится сравнение автоматического распараллеливания некоторых программ из набора NAS Parallel Benchmarks 3.3.1 c ручным распараллеливанием, выполненным с помощью OpenCL.

Ключевые слова

автоматизированное распараллеливание, анализ программ, преобразование программ, графический интерфейс, пользователя, SAPFOR, DVM, LLVM.

Язык

Русский

Библиографическая ссылка

Н.А. Катаев, С.А. Черных. Автоматизация распараллеливания программ в системе SAPFOR // Научный сервис в сети Интернет: труды XXII Всероссийской научной конференции, М.: ИПМ им. М.В.Келдыша, 2020, C. 362-376