Унифицированный параллельный C - Unified Parallel C

Унифицированный параллельный C (UPC)
Парадигмапараллельно, передача сообщений, императив (процедурный ), структурированный
РазработаноКонсорциум UPC
Стабильный выпуск
1.3 / ноябрь 2013 г. (2013-11)
Печатная дисциплинастатический, слабый, манифест
Операционные системыКроссплатформенность
Интернет сайтupc-lang.org
Главный реализации
Clang UPC, GNU UPC, Компиляторы IBM XL UPC, HP UPC, Беркли UPC, Michigan Tech MuPC, Cray UPC
Под влиянием
C, AC, Сплит-C, Препроцессор Parallel C

Унифицированный параллельный C (UPC) является продолжением Язык программирования C предназначен для высокопроизводительные вычисления в больших масштабах параллельные машины, в том числе с общим глобальным адресное пространство (SMP и NUMA ) и те, у кого распределенная память (например, кластеры ). В программист представлен единым общим разделенным адресным пространством, в котором переменные могут быть непосредственно прочитаны и записаны любым процессор, но каждая переменная физически связана с одним процессором. UPC использует одна программа, несколько данных (СПМД ) модель вычислений, в которой степень параллелизма фиксируется во время запуска программы, обычно с одним нить исполнения на процессор.

Чтобы выразить параллелизм, UPC расширяет ISO C 99 со следующими конструкциями:

  • Модель явно параллельного выполнения
  • Общее адресное пространство (общий квалификатор хранилища) с локальными частями потока (обычные переменные)
  • Примитивы синхронизации и модель согласованности памяти
  • Явные примитивы общения, например. г. upc_memput
  • Управление памятью примитивы

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

Смотрите также

внешняя ссылка