NESL

NESL
Парадигмапараллельный, функциональный , массив
Разработчикпроект SCandAL
Впервые появился1993
Стабильный релиз
3.1 / Ноябрь 1995 г.
Лицензияразрешительная лицензия, аналогичная лицензиям ISC и X11

NESL — параллельный язык программирования, разработанный в Университете Карнеги-Меллона в рамках проекта SCandAL и выпущенный в 1993 году. Он объединяет различные идеи из параллельных алгоритмов , функционального программирования и языков программирования массивов .

Наиболее важными новыми идеями, лежащими в основе NESL, являются:

  • Вложенный параллелизм данных : эта функция обеспечивает преимущества параллелизма данных , лаконичный код, который легко понять и отладить, и при этом хорошо подходит для нерегулярных алгоритмов, таких как алгоритмы на деревьях, графах или разреженных матрицах.
  • Модель производительности на основе языка : это дает формальный способ расчета работы и глубины программы. Эти меры могут быть связаны со временем выполнения на параллельных машинах.

Главным направлением проектирования NESL было сделать параллельное программирование простым и переносимым. Алгоритмы в NESL, как правило, значительно более лаконичны, чем в большинстве других языков параллельного программирования, а код очень похож на псевдокод высокого уровня.

NESL обрабатывает параллелизм вложенных данных, используя преобразование выравнивания для преобразования параллелизма вложенных данных в параллелизм плоских данных. Это работает путем хранения вложенных векторов как вложенных данных и дескриптора сегмента длин векторов, по отдельности. [1] Однако это преобразование выравнивания может увеличить асимптотическую работу и сложность пространства исходной программы, что приводит к гораздо менее эффективному результату. [2]

Влияния

NESL сильно повлиял на Data Parallel Haskell . [3]

Смотрите также

Ссылки

  1. ^ Блеллок, Гай (1995). «NESL: вложенный язык параллельных данных». {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  2. ^ Спунхауэр, Дэниел; Харпер; Блеллох; Гиббонс (2008). «Профилирование пространства для параллельных функциональных программ». {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  3. ^ Джонс, Саймон Пейтон. «Data Parallel Haskell». YouTube . Получено 6 сентября 2011 г.
  • Домашняя страница NESL


Взято с "https://en.wikipedia.org/w/index.php?title=NESL&oldid=1134464738"