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

    Специалисты из Массачусетского технологического института разработали новый язык параллельного программирования 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();
    }
    }
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 5
    • 0
      супер! надо будет почитать подробнее
      • 0
        Лисп вывернутый наизнанку.
        • НЛО прилетело и опубликовало эту надпись здесь
          • –1
            Учи мат. часть.
            • НЛО прилетело и опубликовало эту надпись здесь

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.