Унифицированный параллельный C - Unified Parallel C
Эта статья слишком полагается на Рекомендации к основные источники.Декабрь 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Парадигма | параллельно, передача сообщений, императив (процедурный ), структурированный |
---|---|
Разработано | Консорциум UPC |
Стабильный выпуск | 1.3 / ноябрь 2013 г. |
Печатная дисциплина | статический, слабый, манифест |
Операционные системы | Кроссплатформенность |
Интернет сайт | upc-lang |
Главный реализации | |
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 сочетает в себе преимущества программируемости парадигмы программирования с общей памятью и контроль над компоновкой данных и производительностью передача сообщений парадигма программирования.
Смотрите также
- Силк
- Coarray Fortran
- Часовня
- X10
- Высокопроизводительный Фортран
- OpenMP
- Разделенное глобальное адресное пространство
- Модель параллельного программирования
- Программная транзакционная память