Unified Parallel C(UPC)は、大規模並列計算機上の高性能コンピューティング用に設計された Cプログラミング言語の拡張です。この言語は、共有および分散メモリ双方に対する統一プログラミングモデルを提供します。プログラマはただ1つの共有、区分化アドレス空間を提示され、そこでは変数を任意のプロセッサから直接リード・ライトできるかもしれませんが、しかし、各変数は物理的にはただ1つのプロセッサに関連づけられます。UPCは、単一プログラム複数データ(SPMD)モデルを採用しており、並列処理の量はプログラム起動時に固定され、通常は1プロセッサに1つの実行スレッドが割り当てられます。Barkley UPCは、クラスタからカスタム スーパーコンピュータ、あるいはラップトップレベルに至るシステム領域で、UPCソフトウェア開発用の移植可能で高性能なコンパイラを提供します。