Programación en paralelo con Intel Threading Building Blocks

Find AI Tools
No difficulty
No complicated process
Find ai tools

Programación en paralelo con Intel Threading Building Blocks

Tabla de contenidos

  1. Introducción a Threading Building Blocks (TBB)
    • Desarrollo y objetivo de TBB
    • Programación paralela con TBB
    • Implementación de work-stealing
  2. Implementación de TBB
    • Uso de plantillas (templates)
    • Disponibilidad y formas de distribución
    • Limitaciones de TBB
  3. Contenido de la biblioteca TBB
    • Componentes para programación paralela
    • Algoritmos básicos y avanzados
    • Soporte para operaciones atómicas
    • Planificador de tareas y control de acceso
  4. Sistemas compatibles con TBB
    • Versiones comerciales y de código abierto
    • Plataformas admitidas por la versión 3.0
  5. Véase también
    • Relación con Cilk, Cilk Plus y otras herramientas de Intel
    • Comparación con otras bibliotecas y patrones de programación paralela

Introducción a Threading Building Blocks (TBB)

Threading Building Blocks (TBB) es una biblioteca de plantillas desarrollada por Intel para la programación en paralelo, especialmente en procesadores multi-núcleo. Esta biblioteca se encarga de descomponer una computación en tareas que pueden ejecutarse en paralelo, administrando y programando hilos para llevar a cabo dichas tareas.

Desarrollo y objetivo de TBB

La biblioteca TBB permite a un programa en C++ crear, sincronizar y destruir gráficos de tareas dependientes, de acuerdo con algoritmos de programación en paralelo de alto nivel. Esto se logra mediante el concepto de "algoritmos esqueleto", donde las tareas se ejecutan respetando las dependencias del grafo.

Pros:

  • Facilita la programación en paralelo en arquitecturas de múltiples núcleos.
  • Permite la optimización del uso del procesador sin cambios en el código fuente.

Contras:

  • La implementación de "work-stealing" puede no ser óptima en sistemas con un gran número de procesadores.

Programación paralela con TBB

TBB implementa el concepto de "work-stealing" para equilibrar la carga de trabajo en paralelo entre los núcleos disponibles, lo que aumenta la utilización de los núcleos y, por lo tanto, la escalabilidad. Inicialmente, la carga de trabajo se divide equitativamente entre los procesadores disponibles, y si un núcleo completa su trabajo mientras otros aún tienen una cantidad significativa de trabajo en su cola, TBB reasigna parte del trabajo de un núcleo ocupado a aquellos núcleos inactivos, sin requerir cambios en el código fuente o el archivo ejecutable.

Continuará...

Recursos:

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.