Chapel (język programowania) - Chapel (programming language)
Paradygmat |
Zorientowana obiektowo Globalna przestrzeń adresowa podzielona na partycje Programowanie równoległe |
---|---|
Zaprojektowany przez | David Callahan, Hans Zima, Brad Chamberlain, John Plevyak |
Deweloper | Cray Inc. |
Po raz pierwszy pojawiły się | 2009 |
Wersja stabilna | 1.24.1 / 15 kwietnia 2021
|
Dyscyplina typowania |
wnioskowanie statyczne |
Platforma | wieloplatformowy |
OS | Mac OS, Linux, POSIX, Windows (z Cygwin) |
Licencja | Apache 2 |
Rozszerzenia nazw plików | .chpl |
Stronie internetowej | chapel-lang |
Wpływem | |
Ada , C # , C , Fortran , C ++ , Java , HPF , ZPL , Cray MTA / XMT rozszerzenia do C i Fortran. |
Chapel , Cascade High Productivity Language , jest równoległym językiem programowania opracowanym przez Cray . Jest on opracowany w ramach projektu Cray Cascade, uczestnik DARPA „s Wysoka wydajność Computing Systems programu (HPC), który miał za cel zwiększenie superkomputera produktywność w roku 2010. Jest on opracowany jako open source projektu, w wersji 2 licencji Apache .
Cele
Chapel ma na celu ogólną poprawę programowalności komputerów równoległych , aw szczególności systemu Cascade, poprzez zapewnienie wyższego poziomu ekspresji niż obecne języki programowania oraz poprawę separacji między wyrażeniami algorytmicznymi a szczegółami implementacji struktury danych.
Projektanci języków aspirują, aby Chapel wypełnił lukę między obecnymi praktykami programowania HPC , których opisują jako użytkowników Fortran, C lub C ++ piszących kod proceduralny przy użyciu technologii takich jak OpenMP i MPI z jednej strony, a świeżo upieczonymi programistami komputerowymi, którzy preferują Javę, Python lub Matlab, gdzie tylko część z nich ma doświadczenie z C ++ lub C. Chapel powinien oferować postęp w produktywności oferowany przez ten ostatni zestaw języków, nie zrażając jednocześnie użytkowników pierwszego.
funkcje
Chapel obsługuje wielowątkowe równolegle model programowania na wysokim poziomie przez wspieranie abstrakcji do równoległego danych , równoległych zadań i zagnieżdżonego równoległości . Umożliwia optymalizację lokalizacji danych i obliczeń w programie poprzez abstrakcje dla dystrybucji danych i oparte na danych rozmieszczenie obliczeń podrzędnych. Pozwala na ponowne wykorzystanie kodu i ogólność poprzez koncepcje zorientowane obiektowo i ogólne funkcje programowania . Na przykład Chapel pozwala na deklarowanie lokalizacji .
Chociaż Chapel pożycza pojęć z wielu poprzednich językach, jej równoległe koncepcje są najściślej oparta na idei z High Performance Fortran (HPF), ZPL , a Cray MTA „s rozszerzeń do Fortran i C .
Zobacz też
Uwagi
Bibliografia
- Chamberlain, Bradford L. (2011). „Chapel (język Cray Inc. HPCS)”. W Padwie David (red.). Encyklopedia obliczeń równoległych, tom 4 . Skoczek. ISBN 9780387097657 .
Dalsza lektura
- Brueckner, Rich (6 sierpnia 2014). „Dlaczego Chapel do programowania równoległego?” . InsideHPC . Źródło 2015-03-23 .
- Dun, Nan; Taura, K. (2012). „Studium wydajności empirycznej języka programowania Chapel”. Sympozjum Równoległego i Rozproszonego Przetwarzania Warsztaty i Forum Doktoranckie (IPDPSW), 2012 IEEE 26th International . IEEE : 497–506. doi : 10.1109 / IPDPSW.2012.64 . ISBN 978-1-4673-0974-5 .
-
Padwa, David, wyd. (2011). Encyklopedia obliczeń równoległych . Tom 4. Springer Science & Business Media. s. 249–256. ISBN 9780387097657 .
|volume=
ma dodatkowy tekst ( pomoc ) - Panagiotopoulou, K .; Loidl, HW (2016). „Transparently Resilient Task Parallelism for Chapel” Parallel and Distributed Processing Symposium Workshops (IPDPSW), Międzynarodowe Sympozjum IEEE 2016 , Chicago, IL. doi : 10,1109 / IPDPSW.2016.102 ISBN 978-1-5090-3682-0