Programación paralela con OpenMP - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Programación paralela con OpenMP

Hola y mil gracias por leerme. Yo soy Simón Sánchez y en el día de hoy vamos a hablar sobre Programación paralela con OpenMP

Una de las herramientas más importantes en la caja de herramientas del programador de HPC es OpenMP, un estándar para expresar el paralelismo de memoria compartida que fue lanzado en 1997. La versión actual, la versión 4.0, salió el pasado noviembre.

En un video reciente, la representante del comité OpenMP de Oracle, Nawal Copty, explora algunas de las características de la herramienta y los problemas comunes.

https://www.youtube.com/watch?v=oH2coBLCA0M

Copty explica OpenMP simplemente como una forma de escribir programas paralelos, afirmando: «Empiece con el programa C, C ++ o Fortran y luego inserte directivas en su código para decirle al compilador qué partes del código desea paralelizar».

Existen varias ventajas sobre el uso de subprocesos POSIX, según Copty, como la facilidad de aprendizaje y uso. No necesita reescribir su aplicación, simplemente inserte las directivas, un enfoque llamado paralelismo incremental, donde el paralelismo se agrega poco a poco. Hay varios tipos de paralelismo compatibles con OpenMP, incluidas áreas paralelas, bucles paralelos y actividades.

La última versión de OpenMP incluye varias características nuevas, destacadas por Copty. Uno de ellos se llama limpieza regional. Este es un mecanismo que permite al programador terminar o interrumpir limpiamente la ejecución de una región si se cumplen ciertas condiciones. Otra característica se refiere a las dependencias de tareas, donde el programador puede especificar acciones dependientes. Otra característica importante es la afinidad de subprocesos. Esto permite que un programador especifique que una aplicación debe ejecutarse en ciertos procesadores y no moverse mientras se ejecuta la aplicación.

Copty hace una nota final para que los usuarios sean conscientes de algunos errores comunes, incluidas las carreras de datos y la congelación de datos, que pueden causar resultados erróneos, congelaciones y bloqueos. Oracle Solaris tiene una herramienta llamada analizador de subprocesos que puede ayudar a identificar estas condiciones.

Para aquellos interesados ​​en la historia de OpenMP, Intel mostró la línea de tiempo de casi dos décadas de OpenMP en su última problema por Parallel Computing Forum.

Puedes compartir en tu Facebook para que tus colegas lo lean

??? ? ? ???

Comparte