Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

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

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

Влияния [ править ]

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

См. Также [ править ]

Ссылки [ править ]

  1. ^ Blelloch, Guy (1995). «NESL: вложенный параллельный язык данных». Цитировать журнал требует |journal=( помощь )
  2. ^ Spoonhower, Даниил; Харпер; Blelloch; Гиббонс (2008). «Профилирование пространства для параллельных функциональных программ». Цитировать журнал требует |journal=( помощь )
  3. ^ Джонс, Саймон Пейтон. "Data Parallel Haskell" . Проверено 6 сентября 2011 года . CS1 maint: обескураженный параметр ( ссылка )

Внешние ссылки [ править ]