C Paralelo Unificado

Extensión del lenguaje de programación C
Paralelo C Unificado (UPC)
Paradigmaparalelo , paso de mensajes , imperativo ( procedimental ), estructurado
Diseñado porConsorcio UPC
Versión estable
2022.10.0/28 de octubre de 2022 ( 28/10/2022 )
Disciplina de mecanografíaestático , débil , manifiesto
Sistema operativoMultiplataforma
Sitio webes:upc-lang.org
Implementaciones principales
Compiladores UPC de Clang, UPC de GNU, UPC de IBM XL, UPC de HP, UPC de Berkeley, MuPC de Michigan Tech, UPC de Cray
Influenciado por
Preprocesador C , AC, Split-C , C paralelo

Unified Parallel C ( UPC ) es una extensión del lenguaje de programación C diseñada para computación de alto rendimiento en máquinas paralelas a gran escala , incluidas aquellas con un espacio de direcciones global común ( SMP y NUMA ) y aquellas con memoria distribuida (por ejemplo, clústeres ). Al programador se le presenta un único espacio de direcciones global particionado ; donde las variables compartidas pueden ser leídas y escritas directamente por cualquier procesador , pero cada variable está asociada físicamente con un solo procesador. UPC utiliza un modelo de computación de programa único, datos múltiples ( SPMD ) en el que la cantidad de paralelismo se fija en el momento de inicio del programa, normalmente con un solo hilo de ejecución por procesador.

Para expresar paralelismo, UPC extiende ISO C 99 con las siguientes construcciones:

  • Un modelo de ejecución explícitamente paralelo
  • Un espacio de direcciones compartido ( sharedcalificador de almacenamiento) con partes locales del hilo (variables normales)
  • Primitivas de sincronización y un modelo de consistencia de memoria
  • Primitivas de comunicación explícitas, por ejemplo, upc_memput
  • Primitivas de gestión de memoria

El lenguaje UPC evolucionó a partir de experiencias con otros tres lenguajes anteriores que propusieron extensiones paralelas a ISO C 99: AC, Split-C y Parallel C preprocessor (PCP). UPC no es un superconjunto de estos tres lenguajes, sino más bien un intento de destilar las mejores características de cada uno. UPC combina las ventajas de programabilidad del paradigma de programación de memoria compartida y el control sobre el diseño de datos y el rendimiento del paradigma de programación de paso de mensajes .

Véase también

  • Sitio web oficial
  • La UPC en el LBNL
  • UPC en GWU Archivado el 8 de julio de 2012 en Wayback Machine
  • Código UPC de GNU
  • Tutorial de UPC (2003)
Obtenido de "https://es.wikipedia.org/w/index.php?title=C_paralelo_unificado&oldid=1162893184"