C++: Hochleistungsrechnen mit NT² 3.0 und Boost.SIMD

Die quelloffene C++-Bibliothek Numerical Template Toolbox soll mit einer Matlab-ähnlichen Syntax den Übergang zwischen Prototyp und Anwendung erleichtern.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.
Von
  • Julia Schmidt

Version 3 der unter der Boost Software License geschützten C++-Bibliothek Numerical Template Toolbox (NT²) steht auf GitHub zum Download bereit. Durch das Bereitstellen einer Matlab-ähnlichen Syntax soll sie das Erstellen, Debuggen und Optimieren von Anwendungen, die in den Bereich des Hochleistungsrechnens fallen, erleichtern. Das zugehörige Unterprojekt Boost.SIMD stellt eine Abstraktionsschicht für SIMD-Instruktionssets (Single instruction, multiple data) zur Verfügung.

Mit dem Update soll sich die Leistung der Bibliotheken deutlich verbessert haben, und beide lassen sich nun wohl auch mit Visual Studio 2013 ohne die zuvor aufgetretene Probleme nutzen. Die Entwickler ergänzten zudem Funktionen zum Konvertieren zwischen Typen und Mischen von Vektoren unterschiedlicher Größe. Eine neue API ermöglicht außerdem das Erstellen eigener Speicherzuteiler, und sollten nicht unterstützte Funktionen aufgerufen werden, können die Bibliotheken besser mit den entstehenden Fehlern umgehen.

NT² hält unter anderem Möglichkeiten zum Anordnen von Daten in mehrdimensionalen Tabellen, Vektor- und Matrixoperationen bereit. Über 1000 Funktionen aus Bereichen wie Interpolation, linerare Algebra, Statistik und Optimierung ergänzen das Projekt und sollen den Übergang vom Bauen von Matlab-Prototypen hin zur Umsetzung in C++-Anwendungen erleichtern. Mehr Informationen zur Bibliothek lassen sich der Dokumentation des Projekts entnehmen. Details zu den Änderungen seit dem letzten Update finden sich im GitHub-Repository. (jul)