Paralelismo en C++

Resumen

En la última década el creciente uso de las arquitecturas multi-core ha hecho que el paralelismo se convierta en una de las principales herramientas para mejorar el rendimiento de muchas aplicaciones, desde las aplicaciones científicas y de análisis de datos de negocio, hasta los videojuegos.

Existen múltiples soluciones para alcanzar el paralelismo en C++ (Intel TBB, Microsoft PPL, NVidia Thrust, …). Estas soluciones acaban ser mutuamente incompatibles. En C++ se ha definido recientemnete una especificación técnica para ofrecer una solución de paralelismo basada en biblioteca. Esencialmente, esta bilbioteca extiende la STL para poder suministrar de una forma simple paralelismo de alto nivel que es portable.

En esta charla se presentará esta nueva extension, describiendo brevemente su potencialidad, asi como de sus limitaciones. Todo esto incluyendo ejemplos prácticos que permitan entender y aplicar esta solución.

Luis Miguel Sánchez

Es investigador en el grupo de Arquitectura de Computadores, Comunicaciones y Sistemas (ARCOS) de la Universidad Carlos III, donde he trabajado principalmente en la investigacion y desarrollo de sofware parallelo (CUDA, OpenCL, OpenMP, tbb, FastFlow) para plataformas heterogéneas (Multicore, GPUs, Xeon Phi).

Actualmente trabaja en el proyecto Europeo REPARA (Reengineering and Enabling Performance and poweR of Applications) desarrollando herramientas que permiten detectarcódigo secuencial que se puede refactorizar en código paralelo, para su posterior planificación y ejecución en entornos heterogéneos.

Material de la charla.