Programación Paralela y computación de alto rendimiento (charla sobre vectorización, paralelización automática y OpenMP)

Resumen

Los sistemas multiprocesadores se han popularizado mucho últimamente, pero aprovechar su potencial no es tarea fácil. En general, el software desarrollado para estos sistemas tiene que hacer uso explícito de las capacidades del hardware.
En esta presentación, voy a describir la arquitectura de optimización usada en el GNU Compiler Collection (GCC) que ofrece diversos modelos de paralelismo y optimización para aprovechar arquitecturas concurrentes, principalmente vectorización y OpenMP.
Vectorización es una facilidad automática del compilador que aprovecha las unidades multimedia de CPUs modernas descargando la ejecución de algunos loops internos en co-procesadores separados. OpenMP es una especificación estandar de directivas de compilador para C, C++ y Fortran. Provee nuevas instrucciones para especificar paralelismo, sincronización y memoria compartida en forma explícita.
Finalmente, la presentación va a incluir otras opciones del compilador y herramientas asociadas que suelen ser útiles para aprovechar al máximo las optimizaciones posibles con GCC.

Vea las publicaciones relacionadas a la charla haciendo click aquí.