![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/OpenMP_logo.png/640px-OpenMP_logo.png&w=640&q=50)
OpenMP
From Wikipedia, the free encyclopedia
OpenMP – programavimo standartas, skirtas realizuoti lygiagretiesiems algoritmams bendros atminties kompiuteriuose. Todėl, kad OpenMP skirtas bendros atminties kompiuteriams, programuotojui nereikia rūpintis duomenų apsikeitimų tarp skirtingų procesorių. Algoritmas dalinamas į nuosekliąsias ir lygiagrečiąsias dalis, kurios vykdomos procesų grupėse. Procesai naudoja bendrus ir lokalius kintamuosius. Bendras kintamasis yra bendras visiems grupės procesams, o lokalus kintamasis sukuriamas kiekvienam procese. OpenMP lokalus kintamieji yra analogiški HPF ir MPI procesų kintamiesiems.
![]() |
Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius. Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais. |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/OpenMP_logo.png/640px-OpenMP_logo.png)
OpenMP programavimo pagrindiniai etapai:
- Algoritmą pradeda vykdyti vienas procesas – šeimininkas (Master direktyva). Tai algoritmo nuoseklioji dalis.
- Vėliau naudojama lygiagrečioji sritis, tai atliekama, kai pasibaigia nuoseklioji algoritmo dalis ir sukuriama vienu metu dirbančių procesų grupė (Išsišakojimo (Fork) direktyva).
- Šiame etape visi procesai baigia vykdyti lygiagrečiosios srities užduotis. Jie sustabdomi ir toliau skaičiuoja tik procesas šeimininkas (Apjungimo (Join) direktyva).