Simit: Programmiersprache für physikalische Simulationen

Wissenschaftler des MIT und anderer Institutionen haben Simit vorgestellt. Davon sollen jene profitieren, die ihre physikalischen Systeme durch Graphen beschreiben und auch Nutzern linearer Algebra Performancegewinne verschaffen.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
MIT-Forscher stellen Programmiersprache für physikalische Simulationen vor

(Bild: mit.edu)

Lesezeit: 1 Min.
Von
  • Julia Schmidt

Wissenschaftler des Massachusetts Institute of Technology haben zusammen mit Forschern von Adobe, Disney Research, Stanford, der California Polytechnic State University und der University of Texas at Austin eine neue Sprache für physikalische Simulationen entwickelt. Simit soll Entwicklern die Möglichkeit geben, programmierte Systeme sowohl als verlinkte Datenstruktur in Form von Hypergraphen als auch als Set globaler Vektoren, Matritzen und Tensoren ansehen zu können. So lassen sich die Modelle für unterschiedliche Zwecke verwenden, ohne dass die Sprache viele Kapazitäten in Umwandlungen stecken müsste.

Zwar müssen Entwickler, bevor sie mit dem Aufbau der Simulation beginnen, angeben, wie sich die grafische Darstellung des Systems auf dessen Matrixbeschreibung abbilden lässt, danach können sie allerdings alle Vorgänge mit in linearer Algebra formulierten Instruktionen beschreiben. Die Sprache übersetzt diese dann in Graphen, sodass das System schneller arbeitet als es bei der Umwandlung von Graphen in Matritzen der Fall wäre. Darüber hinaus soll Simit-Code ohne Änderung sowohl auf CPUs als auch auf GPUs laufen, wodurch Forscher ihre Simulation ohne Anpassung beschleunigen können. Der Umfang der entwickelten Programme soll unter dem von in Matlab verfassten liegen.

Simit ist zwar für Physiksimulationen gedacht, ihre Erfinder können sich die Sprache allerdings auch gut in Anwendungsfällen aus den Bereichen Maschinelles Lernen und Robotik vorstellen. Eine detaillierte Beschreibung der neuen Sprache ist im zugehörigen Paper nachzulesen. (jul) / (anw)