GPU-beschleunigte Signalverarbeitung

Hinweis: Dieser Beitrag ist noch in Überarbeitung. Inhalte werden fortlaufend ergänzt. Signalverarbeitung ist in vielen Anwendungen zentral. Von der drahtlosen Kommunikation über akustische Messungen bis zur Seismologie müssen große Datenströme in Echtzeit ausgewertet werden. Häufig geht es darum, in verrauschten Signalen bekannte Muster zu erkennen, zum Beispiel den Beginn einer […]

Jenkins Pipeline

Jenkins ist eine weitverbreitete Open-Source-Automatisierungsplattform, die in der Softwareentwicklung häufig in Verbindung mit Git für Continuous Integration (CI) eingesetzt wird. Durch automatisierte Builds und Tests unterstützt Jenkins die frühzeitige Identifizierung potenzieller Probleme und trägt zur Verbesserung der Entwicklungsqualität bei. Das häufig genutzte Jenkins-Plugin Multijob ermöglicht die Bündelung mehrerer Jobs zu […]

Speedup mit tbb::concurrent_unordered_set

Die C++ Standard-Klassen std::set und std::map bzw. ihre unsortierten Varianten std::unordered_set und std::unordered_map (assoziative Container) sind nicht thread-safe. Eine thread-safe Alternative sind die entsprechenden Container (tbb::concurrent_set, tbb::concurrent_unordered_set, …) aus der frei verfügbaren Intel-Bibliothek Threading Building Blocks (TBB). Dazu ein Beispiel: für eine FEM-Berechnung sei ein 3D-Modells mittels Tetraeder trianguliert. Üblicherweise […]