Articulo de referencia

Biblioteca de balsas

RaftLib [ 1 ] es un sistema de procesamiento paralelo portátil que busca ofrecer un rendimiento extremo a la vez que aumenta la productividad del programador. Permite al program...

RaftLib [ 1 ] es un sistema de procesamiento paralelo portátil que busca ofrecer un rendimiento extremo a la vez que aumenta la productividad del programador. Permite al programador ensamblar un programa masivamente paralelo (tanto local como distribuido) utilizando operadores sencillos similares a iostream. RaftLib gestiona la concatenación de hilos, la asignación y ubicación de memoria, y la paralelización automática de los núcleos de cómputo. [ 2 ] Permite construir aplicaciones a partir de cadenas de núcleos de cómputo que forman un grafo de cómputo paralelo de tareas y pipelines. Los programas se escriben en C++ (aunque se planean enlaces para otros lenguajes).

Ejemplo

Aquí hay un ejemplo de "Hola Mundo" a modo de demostración: [ 3 ]

import < raft > ; import < raftio > ;importar std ;usando String = std :: string ;using RaftKernel = raft :: kernel ; using RaftKernelStatus = raft :: kstatus ; using RaftMap = raft :: map ; using RaftPrint = raft :: print ;clase HelloWorld : public RaftKernel { public : HelloWorld () { output . addPort < String > ( "0" ); }virtual RaftKernelStatus run () { output [ "0" ]. push ( "Hola Mundo \n " ); return raft :: stop ; } };int main ( int argc , char * argv []) { // instanciar el kernel de impresión RaftPrint < String > p ;// instanciar el kernel hello world HelloWorld hello ;// crea un objeto de mapa RaftMap m ;// agregar kernels al mapa, tanto hello como p se ejecutan simultáneamente m += hello >> p ;// ejecutar el mapa m . exe ();devolver 0 ; }

Referencias

  1. "RaftLib: Una biblioteca de plantillas de C++ para el procesamiento paralelo de flujos de alto rendimiento" (PDF) . Consultado el 10 de agosto de 2016 .
  2. "Modelado y ajuste en línea de sistemas de procesamiento de flujos paralelos" (PDF) . Consultado el 10 de agosto de 2016 .
  3. "Ejemplo de Hola Mundo" . Consultado el 10 de agosto de 2016 .
  • Sitio web oficial
  • Wiki de usuario de RaftLib
  • RaftLib en GitHub
  • Sesión tutorial de CPPNow RaftLib
  • Una breve introducción al procesamiento de flujos de datos
  • Implementación paralela de BZip2 usando RaftLib