TBB

De Codepixel

[editar] Características

Intel Threading Building Blocks es una librería que facilita el trabajo multitarea de forma eficaz y sencilla. Usa una política de "task stealing", donde un procesador tiene su propia cola, y si queda libre, "roba" tareas de otros procesadores.

  • Código para paralelizar trabajo de loops, y poder procesarlo por partes. Por ejemplo, aplicar una función a un array de datos. Incluso permite containers de STL mediante iteradores.
  • Containers protegidos: vectores y hashes donde se pueden insertar valores de forma compartida.
  • Gran variedad de mutex: nativos del sistema, spin locks, mutex de sólo lectura.
  • Operaciones atómicas, como incrementar valores, etc, de forma templatizada.
  • Clases para contar ticks y tiempo usado por todos los cores.
  • Memory Allocators, que tiene en cuenta la afinidad de threads, la cache, etc.
  • Clases para definir tareas independientes. Se pueden crear clases que heredan de task, y meterlas en una cola para que se vayan evaluando de forma paralela. Con un sistema de conteo de referencias, permite dependencias entre tareas. Está optimizado para que crear una tarea sea eficiente y rápido.

[editar] Links

  • TBB FAQ : completa lista de dudas frecuentes en la wiki de intel
Herramientas personales