Унифицированный параллельный 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
- Разделенное глобальное адресное пространство
- Модель параллельного программирования
- Программная транзакционная память