OpenMP
Išvaizda
Š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. |
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.
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).