Parallelisierung: HPX erreicht erstes Major Release
Nach neun Jahren Entwicklung hat das Team hinter der C++-Bibliothek für Parallelisierung und Nebenläufigkeit alle Funktionen implementiert, die es zu Beginn des Projekts vor Augen hatte und feiert das mit Version 1.0.
![Parallelisierung: HPX erreicht erstes Major Release](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/1/8/7/9/5/0/5117604670da51cd22ccf2aa0b7aa078_edited_132482339_4e3f4ea88d-35d46840d57743f6.jpeg)
- Julia Schmidt
Neun Jahre und fünfzehn offizielle Veröffentlichungen nach Beginn des Open-Source-Projekts HPX liegt nun Version 1.0 der C++-Bibliothek vor. Sie setzt mit Parallelisierung und Nebenläufigkeit zusammenhängende Funktionen des C++-Standards um, darunter auch die in C++17 beschriebenen parallelen Algorithmen, und legt ein besonderes Augenmerk auf verteilte Systeme sowie Portabilität. Deshalb erweitert HPX einige der C++-Standard-Programmierschnittstellen für verteilte und heterogene Systeme, sodass etwa die Arbeit auf Rechenclustern leichter fällt. Enthalten sind zudem Implementierungen von zur Standardisierung vorgeschlagenen Funktionen wie Task-Blöcken und datenparallelen Algorithmen.
Neu sind in der ersten Hauptversion, die diese Nummer wohl bekam, weil ihre Schöpfer die zu Anfang angestrebten Funktionen nun weitestgehend umgesetzt haben, unter anderem ein Netzwerktransportmodul zum Umgang mit InfiniBand-Netzen und Ergänzungen im Bereich Parallelisierung wie bereichsbasierte, parallele Algorithmen und Channels. Darüber hinaus lassen sich durch neue Performance-Counter zusätzliche Laufzeitparameter überwachen, und das Untersystem zum Einplanen von Threads wurde so überarbeitet, dass es nun leistungsfähiger sein und weniger Overhead produzieren soll. Für die dynamische Lastenverteilung in großen verteilten Anwendungen ist zudem zu erwähnen, dass das transparente Migrieren von Objekten über Berechnungsknoten hinweg nun möglich ist. (jul)