NESL- NESL

NESL
Paradigma parallel, funktional , Array
Entwickler SCandAL-Projekt
Erstmals erschienen 1993
Stabile Version
3.1 / November 1995
Lizenz permissive Lizenz ähnlich den ISC- und X11- Lizenzen

NESL ist eine parallele Programmiersprache, die bei Carnegie Mellon vom SCandAL-Projekt entwickelt und 1993 veröffentlicht wurde. Sie integriert verschiedene Ideen aus parallelen Algorithmen , funktionaler Programmierung und Array-Programmiersprachen .

Die wichtigsten neuen Ideen hinter NESL sind

  • Verschachtelte Datenparallelität : Diese Funktion bietet die Vorteile der Datenparallelität , prägnanter Code, der leicht zu verstehen und zu debuggen ist, und ist gleichzeitig gut geeignet für unregelmäßige Algorithmen, wie Algorithmen auf Bäumen, Graphen oder spärlichen Matrizen.
  • Ein sprachbasiertes Leistungsmodell : Dies bietet eine formale Möglichkeit, die Arbeit und die Tiefe eines Programms zu berechnen. Diese Maßnahmen können sich auf die Laufzeit auf parallelen Maschinen beziehen.

Die Hauptentwurfsrichtlinie für NESL bestand darin, die parallele Programmierung einfach und portabel zu machen. Algorithmen sind in NESL in der Regel deutlich prägnanter als in den meisten anderen parallelen Programmiersprachen, und der Code ähnelt stark Pseudocode auf hoher Ebene.

NESL unterstützt verschachtelte Datenparallelität, indem es die Flattening- Transformation verwendet , um verschachtelte Datenparallelität in flache Datenparallelität umzuwandeln. Dies funktioniert, indem verschachtelte Vektoren als verschachtelte Daten und ein Segmentdeskriptor der Vektorlängen separat gespeichert werden. Diese Abflachungstransformation kann jedoch die asymptotische Arbeits- und Raumkomplexität des ursprünglichen Programms erhöhen, was zu einem viel weniger effizienten Ergebnis führt.

Einflüsse

NESL hat Data Parallel Haskell stark beeinflusst .

Siehe auch

Verweise

Externe Links