Root NationNachrichtenIT-NeuigkeitenDas MIT entwickelt eine neue Programmiersprache für Hochleistungscomputer

Das MIT entwickelt eine neue Programmiersprache für Hochleistungscomputer

-

Hochleistungsrechnen wird benötigt, um immer mehr Aufgaben zu lösen – wie Bildverarbeitung oder verschiedene Deep-Learning-Anwendungen in neuronalen Netzen –, bei denen Sie riesige Datenmengen verarbeiten müssen, und zwar schnell genug, sonst kann es unglaublich viel dauern Zeit. Es wird allgemein angenommen, dass bei der Durchführung solcher Operationen ein Kompromiss zwischen Geschwindigkeit und Zuverlässigkeit unvermeidlich ist. Wenn Geschwindigkeit Priorität hat, leidet nach dieser Denkweise wahrscheinlich die Zuverlässigkeit und umgekehrt.

Eine Gruppe von Forschern, die hauptsächlich am Massachusetts Institute of Technology (MIT) angesiedelt sind, stellt diese Vorstellung jedoch in Frage und argumentiert, dass man tatsächlich alles haben kann. Laut Amanda Liu, einer Doktorandin im zweiten Jahr am Computer Science and Artificial Intelligence Laboratory (CSAIL) des MIT, müssen „Geschwindigkeit und Korrektheit mit einer neuen Programmiersprache, die sie speziell für Hochleistungsrechnen geschrieben haben, nicht konkurrieren. Im Gegenteil, sie können in den Programmen, die wir schreiben, nebeneinander gehen." Liu und ihr Team sprachen letzten Monat auf der Konferenz „Principles of Programming Languages“ in Philadelphia über das Potenzial ihrer neu geschaffenen A Tensor Language (ATL).

"Alles in unserer Sprache", sagt Liu, "zielt darauf ab, entweder eine einzelne Zahl oder einen Tensor zu erhalten." Tensoren wiederum sind eine Verallgemeinerung von Vektoren und Matrizen. Während Vektoren eindimensionale Objekte (oft dargestellt durch einzelne Pfeile) und Matrizen bekannte zweidimensionale Arrays von Zahlen sind, sind Tensoren n-dimensionale Arrays, die beispielsweise die Form eines 3×3×3-Arrays oder sogar annehmen können höhere (oder niedrige) Dimension.

Das MIT entwickelt eine neue Programmiersprache für Hochleistungscomputer

Das Wesen eines Computeralgorithmus oder -programms besteht darin, eine bestimmte Berechnung einzuleiten. Aber es gibt viele verschiedene Möglichkeiten, dieses Programm zu schreiben – „eine überraschende Vielfalt unterschiedlicher Code-Implementierungen“, wie Liu und ihre Co-Autoren in ihrem Artikel schreiben – von denen einige deutlich schneller sind als andere. Der Hauptgrund für ATL, erklärt sie, ist folgender: „Angesichts der Tatsache, dass High Performance Computing so ressourcenintensiv ist, möchten Sie in der Lage sein, Programme in einer optimalen Form zu ändern oder neu zu schreiben, um die Dinge zu beschleunigen. Oft beginnt man mit dem Programm, das am einfachsten zu schreiben ist, aber das ist möglicherweise nicht der schnellste Weg, es auszuführen, sodass Sie noch weitere Anpassungen vornehmen müssen."

Die neue Befehlssprache basiert auf der bestehenden Coq-Sprache, die einen Beweishelfer enthält. Der Beweisassistent wiederum hat die Fähigkeit, seine Aussagen mathematisch exakt zu beweisen. Coq hat eine weitere Eigenschaft, die es für die MIT-Gruppe attraktiv machte: Programme, die in dieser Sprache oder einer Adaption davon geschrieben wurden, werden immer beendet und können nicht endlos in Endlosschleifen laufen.

Jetzt ist es die erste und bisher einzige Tensorsprache mit formal verifizierten Optimierungen. Das MIT-Team warnt jedoch davor, dass ATL immer noch nur ein Prototyp ist – wenn auch ein vielversprechender – der mit einer Reihe kleiner Programme getestet wurde.

Lesen Sie auch:

Anmelden
Benachrichtigen Sie über
Gast

0 Ihre Nachricht
Eingebettete Bewertungen
Alle Kommentare anzeigen