UPC is a parallel extension of the C programming language which provides programmers with a shared global address space. A descendant of Split-C [1], AC [2], and PCP [3], UPC has two primary objectives: 1) to provide efficient access to the underlying machine, and 2) to establish a common syntax and semantics for explicitly parallel programming in C. The quest for high performance means in particular that UPC tries to minimize the overhead involved in communication among cooperating threads. When the underlying hardware enables a processor to read and write remote memory without intervention by the remote processor (as in the Cray T3E), UPC provides the programmer with a direct and easy mapping from the language to low-level machine instructions. At the same time, UPC s parallel features can be mapped onto existing message-passing software or onto physically shared memory to make its programs portable from one parallel architecture to another. As a consequence, UPC has seen implementations on a variety of hardware platforms and is becoming a standard language. ------------------------------------------------------------------------ UPC est une extension parallèle du langage C, qui donne aux programmateurs un accès mémoire global. UPC est un héritier de Split-C, AC, et PCP, et vise deux objectifs: 1) donner un accès efficace à la machine sous-jacente; 2) établir une syntaxe et une sémantique communes pour la programmation explicitement parallèle en C. La recherche d'une performance maximale fait que UPC tente de minimiser la surcharge résultant de la communication entre les processus. Lorsque le matériel permet à un processeur d'accéder à de la mémoire distante sans l'intervention d'un processeur distant (comme chez le Cray T3E), UPC donne au programmateur une correspondance simple et directe entre le langage et les instructions-machine de bas-niveau. D'autre part, les caractéristiques parallèles de UPC correspondent à des librairies de passage de message existantes ou à des appel à une mémoire partagée, ce qui rend les programmes portables d'une architecture parallèle à une autre. UPC est implémenté sur plusieurs plate-formes et est en train de devenir un langage standard.