Open Multi-Processing

Publicat: 13 Iun 2011 00:00

1. Introducere

OpenMP (Open Multi-Processing) este o interfata de programare a aplicatiilor (API) care suporta multiprocesarea memoriei partajate pe mai multe platforme in limbajul C, C + +, Fortran si pe mai multe sisteme de operare, inclusiv Unix si platforme Microsoft Windows. Acesta consta intr-un set de directive compilator, si variabile de mediu care influenteaza comportamentul in timpul rularii.


Fiind acceptat de catre un grup mare de furnizori de hardware si software, OpenMP este un model portabil, scalabil, care ofera programatorilor o interfata simpla si flexibila pentru dezvoltarea de aplicatii pentru calcul paralel destinate unei palete largi de platforme: de la desktop la supercomputer.


Primele specificatii ale architecturii OpenMP au fost publicate pentru Fortran in Octombrie 1997. Un an mai tarziu, a fost prezentat un standard pentru C/C++. In anul 2000 a fost dezvoltata versiunea 2.0 pentru Fortran, iar pentru C/C++ in 2002.
Cea mai recenta versiune a API-ului a fost publicata in Mai 2008. Noutatile aduse de aceasta ultima versiune sunt „task”-urile si „task construct”.


2. Descriere
OpenMP este o implementare a multithreading, o metoda de paralelizare unde "firul" principal de executie (o serie de instructiuni executate consecutiv) gestioneaza un anumit numar de "fire" supuse, iar o sarcina este impartita intre ele. Firele sunt apoi executate simultan, iar timpul de executie este impartit diferitelor procesoare.


Sectiunea de cod care este menit sa ruleze in paralel este marcat in consecinta, cu o directiva preprocesata, care va cauza crearea „firelor de executie” inainte de executarea codului. Fiecare fir de executie are un „id” atasat, care poate fi obtinut folosind o functie (numita omp_get_thread_num()). Id-ul este de tip intreg, iar firul principal are id-ul 0. Dupa executia codului paralelizat, firele lansate se altatura din nou celui principal, care continua pana la finalizare programului.


Initial, fiecare fir executa sectiunea de cod paralelizata independent. „Work-sharing constructs” (constructii pentru impartirea sarcinilor) pot fi folosite pentru a divide o sarcina intre mai multe fire, iar acestea sa-si imparta mai departe cate o sectiune de cod. Atat sarcinile paralelizate cat si datele paralelizate pot fi obtinute folosind OpenMP.

Trebuie sa citesti

Black Friday cu preturi microscopice la produsele de la GSMnet
Black Friday cu preturi microscopice la produsele de la GSMnet

Ziua de Black Friday aduce numeroase avantaje pentru pasionatii de tehnologie. In prezent, pretentiile ce fac referire la ultimele gadget-uri tehnologice sunt destul de mari. Utilizatorii sunt foarte bine documentati cu privire la specificatiile smartphone-urilor, dar și în ceea ce

Despre mecanici auto si ateliere de reparatii
Despre mecanici auto si ateliere de reparatii

Sunt foarte puțini mecanici auto de încredere pe piață. Sunt foarte puțini mecanici auto în general, care sunt bombardați de o mulțime de clienți cu lucrări de reparații din care toți își doresc să fie ei o prioritate,

Gadgeturile studentului modern
Gadgeturile studentului modern

Cat de mult s-a schimbat viata intr-un campus in ultimii 20-25 de ani? Cel mai probabil, nu foarte mult la capitolul distractie, interactiuni sociale si provocari pe linie materiala, dar cu siguranta sunt schimbari radicale in ceea ce priveste modul in care tehnologia isi face simtita prezenta in

Cum sa ajuti copilul sa invete cu placere - Trucuri eficiente
Cum sa ajuti copilul sa invete cu placere - Trucuri eficiente

Fiecare parinte se loveste de aceasta problema: cum sa imi ajut copilul sa invete mai bine, cum sa il determin sa ia note bune la scoala si cum sa il fac sa inteleaga ca educatia este cea mai importanta pentru el. In primul rand, trebuie sa stii ca este foarte important ca tu, ca parinte, sa te

Ce este o pergola
Ce este o pergola

Zilele cu prea mult soare pot fi un adevărat chin dacă nu încercăm să ne protejăm corpul de razele ultraviolete. In ajutorul nostru sar pergolele, care reprezintă de mult timp un centru de greutate in arhitectura grădinilor. Pergolele sunt structuri

Teste Online

Proceduri si functii Pascal

Test la tema - Proceduri si functii Pascal

mai multe »
Link-uri recomandate: design interior | nikydecor.ro | designer interior cluj | mobilier dormitor preturi | modern interior design
Acest site foloseste Cookie-uri.
Folosim cookie-uri pentru a personaliza continutul si reclamele, pentru a oferi caracteristici specifice retelelor sociale si pentru a analiza traficul nostru. De asemenea, impartasim informatii despre felul in care ne utilizati site-ul, cu partenerii nostri de pe retelele sociale, de publicitate si de statistica in conformitate cu Politica de confidentialitate. Va puteti administra preferintele in Setari cookie.