Как стать автором
Обновить

StreamIt — новый язык для параллельного программирования

Время на прочтение1 мин
Количество просмотров1.2K
Специалисты из Массачусетского технологического института разработали новый язык параллельного программирования StreamIt. Язык в первую очередь ориентирован на программирование потоковых приложений, таких как потоковое видео и аудио, системы мобильной связи, шифрование и дешифрование потоков информации в реальном времени. Подробная информация — на сайте проекта StreamIt.

Разработка языка продолжается уже несколько лет. В настоящее время с сайта можно скачать компилятор для версии StreamIt 2.1. Также можно скачать и установить Exlipse Development Plugin для ведения разработки в среде Eclipse.
Идеология разработки на StreamIt примерно следующая. Программист конструирует граф потока, состоящий из блоков с одним входом и выходом, описывает функции блоков-атомов и структуру составных блоков. Компилятор генерирует код для каждого блока и оптимизирует граф потока под целевую архитектуру вычислительной системы.
Алгоритм работы компилятора основан на концепции потока данных. Данные проходят через конвейер, состоящий из функций. Компилятор определяет, какие функции независимы друг от друга, и размещает их выполнение на разных процессорах.
В текущей реализации на выходе компилятор генерирует Java-код.
По синтаксису язык напоминает C и Java. Вот пример с фрагментом кода:

float->float filter LowPassFilter (int N, float freq) {
float[N] weights;
init {
weights = calcWeights(N, freq);
}
work peek N pop 1 push 1 {
float result = 0;
for (int i=0; i<weights.length; i++) {
result += weights[i] * peek(i);
}
push(result);
pop();
}
}
Теги:
Хабы:
Всего голосов 6: ↑5 и ↓1+4
Комментарии5

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн