Разработан C-компилятор программируемого ускорителя для MALT-Сv1
- Информация о материале
- Опубликовано: 20.07.2016, 23:08
Фото: maltsystem.com |
Разработан компилятор подмножества языка Си, который генерирует оптимизированный код для архитектуры программируемого ускорителя. На целевых задачах производительность сформированного компилятором кода составляет 80% от производительности кода, реализованного программистом на языке ассемблера! Компилятор разрабатывался с использованием набора проблемно-ориентированных языков (DSL) для быстрого создания трансляторов. Данный набор DSL позволяет в компактной и читаемой форме описывать основные фазы трансляции. В частности, используются Пролог-подобные описания правил преобразования программ и комбинаторный подход к построению стратегий обхода графов промежуточного представления.
Ранние версии компилятора использовались уже на начальных этапах разработки архитектуры программируемого ускорителя и позволили автоматизировать поиск в пространстве архитектурных вариантов. На целевых задачах производительность сформированного компилятором кода составила 80% от производительности кода, реализованного программистом на языке ассемблера, что дало возможность полностью отказаться от разработки прикладных программ для программируемого ускорителя на языке ассемблера.