Единая параллель C


Unified Parallel C ( UPC ) — расширение языка программирования C, предназначенное для высокопроизводительных вычислений на крупномасштабных параллельных машинах , в том числе с общим глобальным адресным пространством ( SMP и NUMA ) и с распределенной памятью (например , кластеры ). Программисту предоставляется одно разделенное глобальное адресное пространство ; где общие переменные могут напрямую считываться и записываться любым процессором , но каждая переменная физически связана с одним процессором. СКП используетмодель вычислений с одной программой и несколькими данными ( SPMD ), в которой уровень параллелизма фиксируется во время запуска программы, обычно с одним потоком выполнения на процессор.

Язык UPC развился из опыта работы с тремя другими более ранними языками, которые предлагали параллельные расширения ISO C 99: AC, Split-C и препроцессор Parallel C (PCP). UPC — это не надмножество этих трех языков, а скорее попытка выделить лучшие характеристики каждого из них. UPC сочетает в себе преимущества программируемости парадигмы программирования с общей памятью и контроль над расположением данных и производительностью парадигмы программирования передачи сообщений .