UPC по-прежнему жив как исследовательский проект в Калифорнийском университете в Беркли и, вероятно, используется высокопроизводительными вычислительными средствами и национальными лабораториями, связанными с исследовательской группой. Вы можете получить последнюю версию, выпущенную в ноябре 2009 года, here. Документацию, образец кода и т. Д. Можно найти here. Спецификация языка: here; существует множество расширений поверх синтаксиса C99 для поддержки потоков и межпоточной связи как первоклассных объектов (возможно, не в строгом смысле «первого класса», но, конечно, больше, чем в C, где вы обращаетесь к непрозрачным библиотекам для синхронизации и связи).
UPC все еще используется в некоторых местах; Я не эксперт, но я могу сказать, что использование UPC состоит из компилятора на основе GCC, среды выполнения и уровня обмена сообщениями GASNet, который работает поверх вашего сетевого стека. Они, по-видимому, относительно хорошо поддерживаются в the types of machines, для которых вам может понадобиться нечто вроде UPC. Я бы не назвал это огромным сообществом разработчиков, но если вы управляете большой параллельной машиной, стоит попробовать. Если вы просто хотите, чтобы что-то работало на вашем ноутбуке, настольном компьютере или серверной коробке, существует множество других моделей параллельного программирования с коммерческой поддержкой, инструментами и т. Д.
Что относительно примеров с открытым исходным кодом для UPC? В каком проекте используется UPC? Насколько хорошо он заполняет очень большие машины (> 10 000 cpus)? – osgx
Как отмечалось выше, существует коллекция примеров программ с открытым исходным кодом UPC, распределенных со временем выполнения Berkeley, например http://upc.lbl.gov/download/dist/upc-examples/. Существует много работ по приложениям UPC и масштабированию из разных групп в литературе. Группа IBM опубликовала результаты для> 100 тыс. Ядер. –