RaftLib - RaftLib
![]() | |
Původní autoři | Jonathan Beard |
---|---|
První vydání | koncem roku 2014 |
Stabilní uvolnění | 0.9 / leden 2020 |
Náhled verze | 1.0a / 18. května 2020 |
Napsáno | C ++ |
Operační systém | Linux, Operační Systém Mac, Okna |
Typ | Datová analýza, HPC, zpracování signálu, strojové učení, algoritmy, velká data |
Licence | Licence Apache 2.0 |
webová stránka | www |
RaftLib[1] je přenosný paralelní systém zpracování, jehož cílem je poskytovat extrémní výkon a zároveň zvyšovat produktivitu programátoru. Umožňuje programátorovi sestavit masivně paralelní program (místní i distribuovaný) pomocí jednoduchých operátorů podobných iostream. RaftLib zpracovává podprocesy, přidělování paměti, umístění paměti a automatická paralelizace výpočetních jader.[2] Umožňuje konstrukci aplikací z řetězců výpočetních jader, které tvoří graf úlohy a paralelního výpočtu kanálu. Programy jsou vytvářeny v C ++ (i když jsou plánovány jiné jazykové vazby).
Příklad
Zde je příklad Hello World pro demonstrační účely:[3]
#zahrnout <raft>#zahrnout <raftio>#zahrnout <cstdlib>#zahrnout <string>třída Ahoj : veřejnost vor::jádro{veřejnost: Ahoj() : vor::jádro() { výstup.addPort< std::tětiva >( "0" ); } virtuální vor::kstatus běh() { výstup[ "0" ].tlačit( std::tětiva( "Ahoj světe n" ) ); vrátit se( vor::stop ); }};inthlavní( int argc, char **argv ){ / ** vytvořit instanci tiskového jádra ** / vor::tisk< std::tětiva > str; / ** vytvořte instanci hello world kernel ** / Ahoj Ahoj; / ** vytvořit mapový objekt ** / vor::mapa m; / ** přidejte jádra do mapy, ahoj i p jsou prováděny souběžně ** / m += Ahoj >> str; / ** provést mapu ** / m.exe(); vrátit se( EXIT_SUCCESS );}
Reference
- ^ "RaftLib: Knihovna šablon C ++ pro paralelní zpracování vysoce výkonného proudu" (PDF). http://www.jonathanbeard.io/pdf/blc15.pdf. Citováno 2016-08-10.CS1 maint: umístění (odkaz)
- ^ „Online modelování a ladění systémů zpracování paralelního proudu“ (PDF). http://www.jonathanbeard.io//pdf/beard-thesis.pdf. Citováno 2016-08-10.
- ^ „Příklad Hello World“. http://raftlib.io. Citováno 2016-08-10.