Kapelle (Programmiersprache)

Kapelle
Cray Chapel Logo.png
Paradigma Objektorientierter
Verteilte globale Adressraum
Parallele Programmierung
Entworfen von David Callahan, Hans Zima, Brad Chamberlain, John Plevyak
Entwickler Cray Inc.
Erstmals erschienen 2009; vor 13 Jahren
Stabile Version
1.25.1 / 9. Dezember 2021; vor 7 Monaten
Disziplin tippen statisch
gefolgert
Plattform Multiplattform
OS Mac OS, Linux, Posix, Fenster (mit Cygwin)
Lizenz Apache -Lizenz 2.0
Dateiname -Erweiterungen .Chpl
Webseite Chapel-Lang.org
Beeinflusst von
Ada, C#,[1] C, Forran, C ++, Java, HPF, Zpl, Cray MTA / Xmt Erweiterungen zu C und Forran.[2]

Kapelle, das Kaskade hohe Produktivitätssprache, ist ein Parallele Programmiersprache entwickelt von Cray.[3] Es wird im Rahmen des Cray Cascade -Projekts entwickelt, ein Teilnehmer an DARPA's Hochproduktivitäts -Computersysteme (HPCS) -Programm, das das Ziel hatte, zuzunehmen Supercomputer Produktivität bis 2010. Es wird als entwickelt als Open Source Projekt unter Version 2 der Apache -Lizenz.[4]

Ziele

Die Kapelle zielt darauf ab, die Programmierbarkeit von zu verbessern Parallele Computer Im Allgemeinen und das Kaskadensystem im Besonderen durch Bereitstellung eines höheren Ausdrucksgrades als aktuelle Programmiersprachen und durch Verbesserung der Trennung zwischen algorithmischer Expression und Datenstruktur Implementierungsdetails.

Die Sprachdesigner streben nach Kapelle, um die Lücke zwischen Strom zu schließen HPC Programmierpraktiker, die sie als Forran-, C- oder C ++ - Benutzer schreiben Verfahrenskodex Verwenden von Technologien wie OpenMP und MPI Auf der einen Seite und neu abgeschlossene Computerprogrammierer, die eher Java, Python oder Matlab bevorzugen Erste.[2]

Merkmale

Kapelle unterstützt a Multithread Parallele Programmiermodell auf hohem Niveau durch Unterstützung von Abstraktionen für Datenparallelität, Aufgabe Parallelitätund verschachtelte Parallelität. Es ermöglicht Optimierungen für die Daten- und Berechnungslokalität im Programm über Abstraktionen für die Datenverteilung und datengetrieben Platzierung von Subcomputationen. Es erlaubt Code -Wiederverwendung und Allgemeinheit durch objektorientierter Konzepte und generische Programmierung Merkmale. Zum Beispiel erlaubt die Kapelle die Erklärung von Orte.[5]

Während Chapel Konzepte aus vielen vorhergehenden Sprachen ausleihen, basieren die parallelen Konzepte am engsten auf Ideen von Hochleistungs -Forran (HPF), Zpl, und die Cray MTAErweiterungen zu Forran und C.

Siehe auch

Anmerkungen

  1. ^ "Chapel Spec (Anerkennung)" (PDF). Cray Inc. 2015-10-01. Abgerufen 2016-01-14.
  2. ^ a b Chamberlain, Bradford L. "Ein kurzer Überblick über die Kapelle" (PDF). Cray Inc.. Abgerufen 22. April 2015.
  3. ^ Lightfoot, David E. (2006). Modulare Programmiersprachen: 7. gemeinsame modulare Sprachenkonferenz. p.20. ISBN 978-3-540-40927-4.
  4. ^ "Chapel Lizenz". Chapel.cray.com. Abgerufen 15. November, 2015.
  5. ^ Bongen Gu; Wikuan Yu; Yoonsik Kwak (28. bis 30. Juni 2011). "Kommunikation und Berechnung überlappen sich durch Aufgabensynchronisation in der Kapellenumgebung mit mehreren Lokalen". In James J. Park, Laurence T. Yang und Changhoon Lee (Hrsg.). Zukünftige Informationstechnologie, Teil I: 6. Internationale Konferenz. Loutraki, Griechenland: Springer-Verlag. S. 285–292. doi:10.1007/978-3-642-22333-4_37. ISBN 978-3-642-22332-7.

Verweise

  • Chamberlain, Bradford L. (2011). "Chapel (Cray Inc. HPCS -Sprache)". In Padua, David (Hrsg.). Enzyklopädie des parallelen Computers, Band 4. Springer. ISBN 9780387097657.

Weitere Lektüre

Externe Links