RaftLib
![]() | |
Originalautor (en) | Jonathan Bart |
---|---|
Erstveröffentlichung | Ende 2014 |
Stabile Version | 0.9 / Januar 2020 |
Vorschau -Version | 1.0a / 18. Mai 2020 |
Geschrieben in | C ++ |
Betriebssystem | Linux, Mac OS, Fenster |
Typ | Datenanalyse, HPC, Signalverarbeitung, maschinelles Lernen, Algorithmen, Big Data |
Lizenz | Apache -Lizenz 2.0 |
Webseite | www |
Raftlib[1] ist ein tragbares paralleles Verarbeitungssystem, das darauf abzielt, extreme Leistung zu erzielen und gleichzeitig die Produktivität der Programmierer zu erhöhen. Es ermöglicht einem Programmierer, ein massiv parallele Programm (sowohl lokal als auch verteilt) mit einfachen iostream-ähnlichen Operatoren zusammenzustellen. Raftlib verarbeitet Threading, Speicherzuweisung, Speicherplatzierung und Auto-Parallelisierung von Berechnung von Kerneln.[2] Es ermöglicht Anwendungen, die aus Rechenkernketten konstruiert werden können, die eine Aufgabe und eine Pipeline -Parallelberechnung bilden. Programme werden in C ++ verfasst (obwohl andere Sprachbindungen geplant sind).
Beispiel
Hier ist ein Hello World -Beispiel für Demonstrationszwecke:[3]
#enthalten #enthalten #enthalten #enthalten Klasse hallo : Öffentlichkeit Floß::Kernel { Öffentlichkeit: hallo() : Floß::Kernel() { Ausgang.Addport< std::Saite >( "0" ); } virtuell Floß::Kstatus Lauf() { Ausgang[ "0" ].drücken( std::Saite( "Hallo Welt\n" ) ); Rückkehr( Floß::Pause ); } }; int hauptsächlich( int argc, verkohlen **argv ) { /** Instanziierung des Druckkerns **// Floß::drucken< std::Saite > p; /** Instanziierung von Hello World Kernel **/ hallo hallo; /** Machen Sie ein Kartenobjekt **// Floß::Karte m; /** Fügen Sie Kerne zum Karte hinzu, sowohl Hallo als auch P werden gleichzeitig ausgeführt **// m += hallo >> p; /** Führen Sie die Karte aus **// m.exe(); Rückkehr( Exit_success ); }
Verweise
- ^ "Raftlib: Eine C ++ - Vorlagenbibliothek für Hochleistungsstrom -Parallelverarbeitung" (PDF). Abgerufen 2016-08-10.
- ^ "Online -Modellierung und Abstimmung paralleler Stream -Verarbeitungssysteme" (PDF). Abgerufen 2016-08-10.
- ^ "Hallo Weltbeispiel". Abgerufen 2016-08-10.