Pregunta

¿Dónde puedo encontrar ejemplos de código, escrito en "Parallel C Unificado"?

También interesado en los documentos normativos sobre este idioma (normas, manuales de referencia, libros en línea accesibles y cursos). ¿Qué extensiones se añadieron a C para obtener la UPC?

¿Es este dialecto vivo o muerto?

¿Fue útil?

Solución

UPC sigue vivo como un proyecto de investigación en la Universidad de Berkeley y es probablemente en uso por computación de alto rendimiento y las instalaciones de los laboratorios nacionales asociados con el grupo de investigación. Puede obtener la versión más reciente, publicada en noviembre de 2009, aquí . Documentación, código de ejemplo, etc se puede encontrar aquí . La especificación de lenguaje es aquí ; hay muchas extensiones en la parte superior de la sintaxis de C99 a las discusiones de apoyo y la comunicación entre hilos como entidades de primera clase (quizá no en el sentido estricto de "primera clase", pero ciertamente mucho más que en C, en el que llaman a las bibliotecas opacos hacer la sincronización y la comunicación).

UPC está todavía en uso algunos lugares; No soy un experto, pero por lo que puedo decir utilizando UPC consiste en un compilador basado en GCC, un tiempo de ejecución, y una capa de mensajería GASNet que se ejecuta en la parte superior de la pila de red. Estas parecen estar relativamente bien soportado en los tipos de máquinas para los que es posible que desee algo así como la UPC . Yo no diría que es una enorme comunidad de desarrolladores, pero si se administra una máquina paralela grande, vale la pena dar un tiro. Si lo que desea es algo para trabajar en su computadora portátil, de escritorio, o servidor, existe una amplia variedad de otros modelos de programación paralela con soporte comercial, herramientas, etc.

Otros consejos

Además del tiempo de ejecución de la UPC UPC Berkley implementaciones basadas:

Berkley UPC-a-C Traductor http://upc.lbl.gov/download/ source.shtml y gcc-UPC http://www.gccupc.org )

también hay compiladores de propiedad por parte de HP h30097.www3.hp.com/upc/ y Cray.

Creo que las versiones Cray y HP UPC ambos tienen guarentees progreso, donde como Berkley deriva cuáles no (esto significa que si se escribe código de estilo spinlock, usted tiene que llamar explícitamente a bupc_relax prod teh tiempo de ejecución en un movimiento de precesión de escritura a distancia que sacarte del bucle)

UPC es todavía muy vivo en la comunidad HPC.

La nueva versión 1.3 del lenguaje / especificación de la biblioteca fue lanzado en noviembre de 2013 y está disponible aquí:

https://upc-lang.org/upc-documentation

Las principales compiladores UPC tienen ya (o pronto) versión 1.3 versiones compatibles.

La especificación de la UPC está escrito como un "diff" en contra de C99, por lo que es fácil ver lo que se ha añadido. En un nivel alto es lingüísticamente algunas palabras clave nuevas y algunas extensiones al sistema de tipos para acomodar el modelo de memoria PGAS y de nivel de idioma SPMD roscado. También hay un gran (y creciente) conjunto de bibliotecas para apoyar las necesidades de HPC común en las aplicaciones de la UPC.

Hay mucha más información acerca de la UPC en:

http://upc.lbl.gov/

donde se puede descargar un compilador de código abierto que funciona con gran variedad de sistemas. La descarga fuente de tiempo de ejecución incluye una biblioteca de programas de ejemplo de la UPC, puntos de referencia y conjuntos de pruebas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top