Unified Parallel C

Unified Parallel C
Unified Parallel C (UPC)
Класс языка:

параллельный, императивный (процедурный), структурный

Автор(ы):

UPC Consortium

Релиз:

2.12.2/2011-5-18

Типизация данных:

статическая

Основные реализации:

GNU UPC, IBM XL UPC Compilers, HP UPC, Berkeley UPC, Michigan Tech MuPC, Cray UPC

Испытал влияние:

C, AC, Split-C, Parallel C Preprocessor

Сайт:

http://upc.gwu.edu/

Unified Parallel C (UPC) — расширение языка программирования Си, предназначенное для high-performance computing на масштабных параллельных компьютерах, в том числе на SMP/NUMA системах с общей памятью (единым адресным пространством) и с распределенной памятью (например, на кластерах). Программисту предоставляется доступ ко всему глобальному разделённому адресному пространству (PGAS), хранимые в нем переменные могут читаться и изменяться любым процессором. При этом каждое значение хранится в физической памяти одного из процессоров. UPC использует модель SPMD (Single Program Multiple Data) в которой степень параллелизма фиксируется при запуске программы, обычно на уровне один поток исполнения на ядро процессора.

Для выражения параллелизма UPC добавляет к ISO C 99 конструкции:

  • Явную параллельную модель исполнения
  • Общее (разделенное) адресное пространство
  • Примитивы синхронизации и модель консистентности памяти
  • Примитивы управления памятью

На UPC значительно повлияли три более ранних параллельных расширения ISO C 99: AC, Split-C, и Parallel C Preprocessor (PCP). UPC не является их надмножеством, а скорее попыткой объединить лучшие их стороны. UPC комбинирует удобство программирования в парадигме общей памяти и уровень контроля за распределением данных и производительность парадигмы передачи сообщений.

Содержание

Пример

Пример параллельного скалярного умножения[1]

# include <upc_relaxed.h>
# define N 1000 * THREADS
 
shared float A[N], B[N];
shared float MUL[N];
 
void scalar_mul_a_b()
{
   int i;
   upc_forall(i = 0; i < N; i++; i)
       SUM[i] = A[i] * B[i];
}

См. также

  • Co-array Fortran
  • Chapel
  • X10
  • High Performance Fortran
  • OpenMP
  • Partitioned global address space
  • Parallel programming model
  • Software transactional memory
  • ParC (extended C++) http://parallel.cc

Примечания

Ссылки

  • upc.gwu.edu — официальный сайт Unified Parallel C
  • [1] (2003)



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Unified Parallel C" в других словарях:

  • Unified Parallel C — (UPC) is an extension of the C programming language designed for high performance computing on large scale parallel machines, including those with a common global address space (SMP and NUMA) and those with distributed memory (eg. clusters). The… …   Wikipedia

  • Unified Parallel C — (UPC) est une extension du langage de programmation C conçue pour les calculs hautes performances sur des supercalculateurs calcul parallèle, y compris les architectures à espace d adressage global (SMP et NUMA) et celles à mémoire distribuée… …   Wikipédia en Français

  • Unified Parallel C — (UPC) es una extensión del lenguaje de programación C diseñado para computación de alto rendimiento en máquinas paralelas, incluyendo tanto aquellas con un espacio de memoria global (SMP y NUMA) como aquellas con un espacio de memoria distribuido …   Wikipedia Español

  • Unified Parallel C — (UPC) Paradigmen: imperativ, strukturiert, parallel Erscheinungsjahr: 1999 Entwickler: UPC Consortium Aktuelle Version: 1.2   …   Deutsch Wikipedia

  • Unified Parrallel C — Saltar a navegación, búsqueda Unified Parallel C (UPC) es una extensión del lenguaje de programación C diseñado para computación de alto rendimiento en máquinas paralelas, incluyendo tanto aquellas con un espacio de memoria global (SMP y NUMA)… …   Wikipedia Español

  • Parallel C — may refer to: * Unified Parallel C, an extension of the C programming language designed for high performance computing on large scale parallel machines * an unimplemented programming language that influenced the design of C* * C for the… …   Wikipedia

  • Parallel adoption — is a method for transferring between an old (IT) system to a target (IT) system in an organization. In order to reduce risk, the old and new system run simultaneously for some period of time after which, if the criteria for the new system are met …   Wikipedia

  • Unified Memory Access — is not a valid term, but is often used mistakenly, when referring to: *Uniform Memory Access, a computer memory architecture used in parallel computers. *Unified Memory Architecture, a technology that allows a Graphics Processing Unit to share… …   Wikipedia

  • Unified Team at the 1992 Summer Olympics — Infobox Country Olympics NOC=EUN flagcaption=The Unified Team used the Olympic flag games=1992 Summer competitors=475 (310 men and 165 women) sports=27 flagbearer=Aleksandr Karelin gold=45 silver=38 bronze=29 total=112 rank=1 summerappearances =… …   Wikipedia

  • Unified Process — Der Rational Unified Process (RUP) ist ein objektorientiertes Vorgehensmodell zur Softwareentwicklung und ein kommerzielles Produkt der Firma Rational Software, die seit 2002 Teil des IBM Konzerns ist. IBM entwickelt den RUP und die zugehörige… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»