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