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

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

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

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

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

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

См. Также

Внешние ссылки

Последняя правка сделана 2021-06-20 11:03:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте