Парадигма | параллельный, функциональный , массив |
---|---|
Разработчик | СКАНДАЛ проект |
Впервые появился | 1993 г. |
Стабильный выпуск | 3.1 / ноябрь 1995 г. |
Лицензия | разрешительная лицензия похожа на ISC и X11 лицензии |
NESL - это язык параллельного программирования, разработанный в Карнеги-Меллон в рамках проекта SCandAL и выпущенный в 1993 году. Он объединяет различные идеи параллельных алгоритмов , функционального программирования и языков программирования массивов .
Наиболее важные новые идеи, лежащие в основе NESL:
- Параллелизм вложенных данных : эта функция предлагает преимущества параллелизма данных, краткого кода, который легко понять и отладить, и в то же время хорошо подходит для нерегулярных алгоритмов, таких как алгоритмы на деревьях, графах или разреженных матрицах.
- Модель производительности на основе языка : это дает формальный способ расчета работы и глубины программы. Эти меры могут быть связаны со временем работы на параллельных машинах.
Основным принципом разработки NESL было сделать параллельное программирование простым и переносимым. Алгоритмы в NESL обычно значительно более лаконичны, чем в большинстве других языков параллельного программирования, а код очень напоминает высокоуровневый псевдокод.
NESL поддерживает параллелизм вложенных данных, используя преобразование сглаживания для преобразования параллелизма вложенных данных в параллелизм с плоскими данными. Это работает путем сохранения вложенных векторов как вложенных данных и дескриптора сегмента длины вектора по отдельности. [1] Это преобразование сглаживания, однако, может увеличить асимптотическую работу и пространственную сложность исходной программы, что приведет к гораздо менее эффективному результату. [2]
Влияния [ править ]
NESL сильно повлиял на Data Parallel Haskell . [3]
См. Также [ править ]
Ссылки [ править ]
- ^ Blelloch, Guy (1995). «NESL: вложенный параллельный язык данных». Цитировать журнал требует
|journal=
( помощь ) - ^ Spoonhower, Даниил; Харпер; Blelloch; Гиббонс (2008). «Профилирование пространства для параллельных функциональных программ». Цитировать журнал требует
|journal=
( помощь ) - ^ Джонс, Саймон Пейтон. "Data Parallel Haskell" . Проверено 6 сентября 2011 года . CS1 maint: обескураженный параметр ( ссылка )