Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
RaftLib
Raft library for parallel processing with iostreams and compute kernels

RaftLib is a portable parallel processing system that aims to provide extreme performance while increasing programmer productivity. It enables a programmer to assemble a massively parallel program (both local and distributed) using simple iostream-like operators. RaftLib handles threading, memory allocation, memory placement, and auto-parallelization of compute kernels. It enables applications to be constructed from chains of compute kernels forming a task and pipeline parallel compute graph. Programs are authored in C++ (although other language bindings are planned).

Related Image Collections Add Image
We don't have any YouTube videos related to RaftLib yet.
We don't have any PDF documents related to RaftLib yet.
We don't have any Books related to RaftLib yet.
We don't have any archived web articles related to RaftLib yet.

Example

Here is a Hello World example for demonstration purposes:3

#include <raft> #include <raftio> #include <cstdlib> #include <string> class hi : public raft::kernel { public: hi() : raft::kernel() { output.addPort< std::string >( "0" ); } virtual raft::kstatus run() { output[ "0" ].push( std::string( "Hello World\n" ) ); return( raft::stop ); } }; int main( int argc, char **argv ) { /** instantiate print kernel **/ raft::print< std::string > p; /** instantiate hello world kernel **/ hi hello; /** make a map object **/ raft::map m; /** add kernels to map, both hello and p are executed concurrently **/ m += hello >> p; /** execute the map **/ m.exe(); return( EXIT_SUCCESS ); }

References

  1. "RaftLib: A C++ Template Library for High Performance Stream Parallel Processing" (PDF). Retrieved 2016-08-10. http://www.jonathanbeard.io/pdf/blc15.pdf

  2. "Online Modeling and Tuning of Parallel Stream Processing Systems" (PDF). Retrieved 2016-08-10. http://www.jonathanbeard.io//pdf/beard-thesis.pdf

  3. "Hello World Example". Retrieved 2016-08-10. http://raftlib.io