Unificat paralel C

Unificat paralel C
Data primei versiuni 1999
Site-ul web upc.gwu.edu

Unified Parallel C ( UPC ) este o extensie a limbajului de programare C conceput pentru calcul de înaltă performanță pe supercomputere paralele , incluzând spațiu global de adrese ( SMP și NUMA ) și arhitecturi de memorie distribuită ( cluster ). Limbajul definește un spațiu de adrese partajat și partiționat, unde variabilele pot fi citite și scrise direct de orice fir , dar fiecare variabilă este asociată fizic cu un singur procesor . UPC utilizează un model de calcul de tip SPMD (Single Program Multiple Data) în care cantitatea de fir este fixată la compilare , de obicei cu un singur fir de execuție per procesor.

Pentru a implementa paralelismul, UPC extinde standardul ISO C 99 cu următoarele concepte:

Limba UPC este rezultatul experimentelor cu alte trei limbi anterioare care au oferit extensii paralele cu ISO C 99 (AC, Split-C și C paralel Preprocesor (PCP)). UPC nu este o simplă agregare a acestor trei limbi, ci mai degrabă o încercare de a sintetiza cele mai bune caracteristici ale fiecăruia. UPC combină avantajele paradigmei de programare a memoriei partajate, controlul dispunerii datelor și performanța paradigmei de programare a schimbului de mesaje.

Suport de compilatoare

UPC a fost implementat în unele compilatoare comerciale și de cercetare, inclusiv:

Vezi și tu

linkuri externe