Open Multi-Processing

Incarcat la data: 13 Iunie 2011

Autor: Gheorghe Elena

Pret: 50 credite

Numar pagini: 15

Tip fisier: zip

Marime fisier: 24528 kb

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.
 

Textul de mai sus reprezinta un extras din "Open Multi-Processing". Pentru versiunea completa a documentului apasa butonul Download si descarca fisierul pe calculatorul tau. Prin descarcarea prezentei lucrari stiintifice, orice utilizator al site-ului www.studentie.ro declara si garanteaza ca este de acord cu utilizarile permise ale acesteia, in conformitate cu prevederile legale ablicabile in domeniul proprietatii intelectuale si in domeniul educatiei din legislatia in vigoare.

In cazul in care intampini probleme la descarcarea fisierului sau documentul nu este nici pe departe ceea ce se doreste a fi te rugam sa ne anunti. Raporteaza o eroare

Important!

Referatele si lucrarile oferite de Studentie.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Alti utilizatori au mai cautat: PROGRAMAREAPLICATIIINTERFATA
Jacheta usoara verde oliv inchis Jacheta usoara verde oliv inchis Descriere produs:Tip: jachetaCuloare: verde oliv inchisMaterial: usorDetalii: margini...
Jacheta usoara violet inchis Jacheta usoara violet inchis Descriere produs:Tip: jachetaCuloare: violet inchisMaterial: usorDetalii: margini...
Camasa alba in dungi Camasa alba in dungi Descriere produs:- camasa alba cu dungi albastre- imprimeu text pe partea din spate- guler...