Unified Parallel C (UPC) ist eine Erweiterung der Programmiersprache C, die für Hochleistungsrechnen auf massiv parallelen Rechnern gedacht ist. Die Sprache stellt ein einheitliches Programmiermodell für Hardware mit geteiltem und verteiltem Speicher bereit. Dem Programmierer wird ein einziger gemeinsamer, partitionierter Adressraum präsentiert, in dem Variablen von jedem Prozessor direkt gelesen und geschrieben werden können, aber jede physisch mit einem einzelnen Prozessor assoziiert ist. UPC verwendet ein »Single Program Multiple Data (SPMD)«-Modell der Berechnung, in dem der Betrag des Parallelismus beim Programmstart festgelegt ist, typischerweise mit einem einzelnen Thread pro Prozessor. Berkeley Unified Parallel C ist ein Compiler für die Entwicklung in UPC. (non)