Chapel gehört zur Gruppe der parallelen Sprachen auf höherem Abstraktionsniveau. Es enthält alle PGAS-Leistungen und ist somit eine PGAS-Sprache. Darüber hinaus hat es weitere Abstraktionseigenschaften. Es könnte zu einer neu einzuführenden Klasse der HPCS-Sprachen gerechnet werden (Fortress, X10, Chapel).
Chapel wurde aus mehreren parallelen Programmiersprachen entwickelt, insbesondere den Cray-MTA-Erweiterungen zu C 1 und Fortran, HPF und ZPL. Auch Ideen aus sequentiellen Sprachen wie C#, C++, Java, Fortran und Ada wurden übernommen,
Informationen im WWW:
Compiler:
Kurse:
Diverse:
1993 HPF Report
http://www.darpa.mil/ipto/programs/hpcs/hpcs_plan.asp
Weitere Literatur finden Sie auf meiner Webseite für Literatur zum Parallelrechnen: http://www.uni-regensburg.de/EDV/kurs_info/brf09510/hpc/Literatur.html
1. Allgemeine Parallelsprache
gzip -d /cygdrive/c/download/chapel/chapel-v1.02.tar.gz
source /home/brf09510/chapel/util/setchplenv.csh (csh tcsh)
Das Hallo-Programm in Chapel besteht nur aus einer einzigen Anweisung ohne weitere Struktur. Es wird in einer Datei mit der Erweiterung .chpl gespeichert.
// Datei hello.chpl
Es wird mit den folgenden Kommandos übersetzt und gestartet:
chpl hello.chpl
Es funktioniert in dieser Form sowohl auf einer sequentiellen Anlage, wie auf einem Cluster.
Kommentare werden wie in C geschrieben. Chapel ist case-sensitiv und formatfrei.
Dieses Chapel-Programm führt nur eine Initialisierungsanweisung aus. Ein etwas umfangreicheres Hallo-Programm enthält ein main in einem Modul:
(http://www.uni-regensburg.de/EDV/kurs_info/brf09510/hpc/hallo1.chpl)
Fortran hat zwei Ideen zu den Datentypen beigesteuert: Zunächst gibt es inclusive der komplexen Zahlen alle wichtigen numerischen Typen. Weiter kann der Programmierer die Länge eines Datentyps in Bits genau steuern. Reelle Zahlen folgen den Regeln des IEEE 754 Standards.
bool int int(8) int(16) int(32) int(64) uint uint(8) uint(16) uint(32) uint(64) real real(32) real(64) imag imag(32) imag(64) complex complex(64) complex(128) string
Aufzählungen
Strukturen
Aliases
Variable
Initialisierung
Globale und lokale Variable
Konstante
Konversionen
Rest fast wie in C
Operator overloading
swap
select
zipper iteration
tensor product iteration
parameter for loop
label break continue
use
type select
(Namespaces)
overloading
TTH-Seite:
1Tera Computer Company was founded in 1987 in Washington, DC, and moved to Seattle, Washington, in 1988. Tera began software development for the Multithreaded Architecture (MTA) systems that year and hardware design commenced in 1991. The Cray MTA-2T system provides scalable shared memory, in which every processor has equal access to every memory location, greatly simplifying programming because it eliminates concerns about the layout of memory.