Унифицированный параллельный C
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Парадигма | параллельный , передача сообщений , императивный ( процедурный ), структурированный |
---|---|
Разработано | Консорциум СКП |
Стабильная версия | 2022.10.0/28 октября 2022 г. |
Дисциплина набора текста | статический , слабый , явный |
ТЫ | Кросс-платформенный |
Веб-сайт | только УПК |
Основные реализации | |
Clang UPC , GNU UPC , Компиляторы IBM XL UPC , HP UPC , Berkeley UPC , Michigan Tech MuPC , Cray UPC | |
Под влиянием | |
C , AC, Split-C , параллельный препроцессор C |
Unified Parallel C ( UPC ) — расширение языка программирования C, предназначенное для высокопроизводительных вычислений на крупномасштабных параллельных машинах , в том числе с общим глобальным адресным пространством ( SMP и NUMA ) и с распределенной памятью (например, кластерами ). Программисту пространство предоставляется единое разделенное глобальное адресное ; где общие переменные могут напрямую читаться и записываться любым процессором , но каждая переменная физически связана с одним процессором. UPC использует модель вычислений «одна программа и несколько данных » ( SPMD ), в которой степень параллелизма фиксируется во время запуска программы, обычно с одним потоком выполнения на процессор.
Чтобы выразить параллелизм, UPC расширяет ISO C 99 следующими конструкциями:
- Явно параллельная модель выполнения
- Общее адресное пространство (
shared
квалификатор хранилища) с локальными частями потока (обычные переменные) - Примитивы синхронизации и модель согласованности памяти
- Явные примитивы связи, например. г. upc_memput
- управления памятью Примитивы
Язык UPC развился на основе опыта работы с тремя другими более ранними языками, которые предлагали параллельные расширения ISO C 99: AC, Split-C и препроцессор Parallel C (PCP). UPC — это не надмножество этих трех языков, а скорее попытка выделить лучшие характеристики каждого из них. UPC сочетает в себе преимущества программируемости парадигмы программирования с общей памятью и контроль над размещением данных и производительностью передачи сообщений парадигмы программирования .
См. также [ править ]
- Силк
- Коаррей Фортран
- Часовня
- х10
- Высокопроизводительный Фортран
- OpenMP
- Разделенное глобальное адресное пространство
- Модель параллельного программирования
- Программная транзакционная память
Внешние ссылки [ править ]
- Официальный сайт
- СКП в LBNL
- UPC в GWU. Архивировано 8 июля 2012 г. в Wayback Machine.
- ГНУ СКП
- Учебное пособие по СКП (2003 г.)