NESL - NESL
| Paradigma | parallelo, funzionale , array |
|---|---|
| Sviluppatore | Progetto SCandAL |
| Apparso per la prima volta | 1993 |
| Rilascio stabile | 3.1 / novembre 1995 |
| Licenza | licenza permissiva simile alle licenze ISC e X11 |
NESL è un linguaggio di programmazione parallelo sviluppato presso Carnegie Mellon dal progetto SCandAL e rilasciato nel 1993. Integra varie idee da algoritmi paralleli , programmazione funzionale e linguaggi di programmazione array .
Le nuove idee più importanti dietro NESL sono
- Parallelismo dei dati nidificato : questa funzionalità offre i vantaggi del parallelismo dei dati , codice conciso di facile comprensione e debug, pur essendo adatto per algoritmi irregolari, come algoritmi su alberi, grafici o matrici sparse.
- Un modello di performance basato sul linguaggio : fornisce un modo formale per calcolare il lavoro e la profondità di un programma. Queste misure possono essere correlate al tempo di esecuzione su macchine parallele.
La principale linea guida di progettazione per NESL era quella di rendere la programmazione parallela facile e portatile. Gli algoritmi sono in genere significativamente più concisi in NESL rispetto alla maggior parte degli altri linguaggi di programmazione paralleli e il codice assomiglia molto allo pseudocodice di alto livello.
NESL supporta il parallelismo dei dati nidificati utilizzando la trasformazione appiattita per convertire il parallelismo dei dati nidificati in parallelismo dei dati flat. Funziona memorizzando i vettori nidificati come dati nidificati e un descrittore di segmento di lunghezze di vettore, separatamente. Questa trasformazione appiattita, tuttavia, può aumentare il lavoro asintotico e la complessità spaziale del programma originale, portando a un risultato molto meno efficiente.
Influssi
NESL ha fortemente influenzato Data Parallel Haskell .
Guarda anche
Riferimenti
link esterno