Единый параллельный C - Примеры и список расширений

StackOverflow https://stackoverflow.com/questions/2372764

  •  24-09-2019
  •  | 
  •  

Вопрос

Где я могу найти примеры кода, написанные в разделе «Унифицированный параллель C»?

Я также заинтересован в нормативных документах об этом языке (стандарты, справочные руководства, онлайн-доступные книги и курсы). Какие расширения были добавлены к C, чтобы получить UPC?

Это диалект живым или мертвым?

Это было полезно?

Решение

UPC все еще жив в качестве исследовательского проекта в UC Berkeley и, вероятно, используется высокопроизводительными вычислительными объектами и национальными лабораториями, связанными с исследовательской группой. Вы можете получить последнюю версию, выпущенную ноябрь 2009 года, здесь. Отказ Документация, код образца и т. Д. Можно найти здесь. Отказ Спец языка здесь; Существует много расширений на вершине синтаксиса C99 для поддержки потоков и взаимодействия в качестве первоклассных объектов (возможно, не в самом строгом смысле «первого класса», но, безусловно, более чем в C, где вы называете непрозрачные библиотеки. делать синхронизацию и связь).

UPC все еще используется в некоторых местах; Я не являюсь экспертом, но из того, что я могу сказать, используя UPC, состоит из компилятора на основе GCC, время выполнения и GANNET STALE MOSSNESS, который работает сверху вашего сетевого стека. Кажется, это относительно хорошо поддерживается на Типы машин для чего вы можете захотеть что-то вроде UPC. Я бы не назвал это огромным сообществом разработчика, но если вы управляете большой параллельной машиной, стоит дать ему выстрел. Если вы просто хотите что-то работать на вашем ноутбуке, настольном компьютере или сервере, есть широкий спектр других параллельных моделей программирования с коммерческой поддержкой, инструментами и т. Д.

Другие советы

Помимо реализации UPC Berkley UPC UPC

Berkley UPC-TO-C переводчик http://upc.lbl.gov/download/source.shtml. и GCC-UPC http://www.gccupc.org.)

Существуют также проприетарные компиляторы HP H30097.www3.hp.com/upc/ и Cray.

Я считаю, что версии CRAIL и HP UPC имеют Progress Guarentees, где, как, когда произошлинные Беркли (это означает, что если вы пишете код стиля SpinLock, вы должны явно позвонить BuPC_RELAX, чтобы продвинуть TEH Runtime на преследующую удаленную запись, которая получила бы Вы из цикла)

UPC все еще очень живы в сообществе ГЭС.

Новая 1.3 версия спецификации языка / библиотеки была выпущена в ноябре 2013 года и доступна здесь:

https://upc-lang.org/upc-documentation.

Основные компиляторы UPC уже (или скоро будут) выпустить 1.3 Совместимые версии.

Спецификация UPC записывается как «Diff» против C99, поэтому легко посмотреть, что было добавлено. На высоком уровне это лингвистически несколько новых ключевых слов и некоторых расширений системы типа для размещения модели памяти PGAS и резьбу SPMD на уровне языка. Существует также большой (и растущий) набор библиотек для поддержки общего потребностей HPC в приложениях UPC.

Есть много информации о UPC по адресу:

http://upc.lbl.gov/

Где вы можете скачать бесплатный, открытый исходный компилятор, который работает на Vast Vanty of Systems. Загрузка источника времени выполнения включает в себя библиотеку программ примеров UPC, ориентиры и тестовые люксы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top