Speaker
Description
Облачная система параллельного программирования CPPS [1], разрабатываемая в ИСИ СО РАН, предоставляет пользователю через веб-браузер функциональный язык Cloud Sisal для спецификации, отладки, верификации и конструирования параллельных программ и их исполнения на суперкомпьютерах. Язык Cloud Sisal [2] обладает обычными преимуществами языков функционального программирования, такими, как, например, однократное присваивание и детерминированные результаты для параллельной и последовательной реализации, но содержит массивы и циклы, а также поддерживает аннотированное программирование и конкретизацию программ.
В докладе рассмотрен кроссплатформенный Cloud Sisal компилятор системы CPPS, реализованный на языке Python в дополнение к уже существующему кросс-компилятору системы, использующему Windows и строящему C#–код. Компилятор сначала переводит исходную Cloud Sisal программу во внутреннее представление системы CPPS, которое ориентировано на семантическую и визуальную обработку программ и основано на атрибутированных иерархических графах, далее в рамках этого представления подвергает программу редуцирующим конкретизациям, а затем по полученному внутреннему представлению редуцированной программы осуществляет методами смешанной кодогенерации построение либо C++–кода, расширенного директивами OpenMP, для GCC либо IR–кода для LLVM. Рассмотрены реализованные способы задания входных данных для осуществления счета по программе и вывода результатов вычислений, а также средства поддержки тестирования компилятора.
Список литературы
1. Система облачного параллельного программирования CPPS: визуализация и верификация Cloud Sisal программ / В.Н. Касьянов, Д.С. Гордеев, Т.А. Золотухин и др.; под ред. В.Н. Касьянова. – Новосибирск: ИПЦ НГУ, 2020. – 256 с.
2. Касьянов В.Н., Касьянова Е.В. Язык программирования Cloud Sisal. – Новосибирск, 2018. – 45 с. – (Препринт/ РАН, Сиб. отд-ние, ИСИ; №181).
Секция конференции | Теоретическое, экспериментальное и системное программирование |
---|