23. diel - OpenMP - paralelizácie bez manuálneho vytvárania vlákien v C ++
V minulej lekcii, Vektorizácia v C ++ - Restrict ukazovateľ a zarovnanie pamäte , sme pokračovali v téme vektorizácia. Predstavili sme si ukazovateľ restrict a ako optimalizovať zarovnaním pamäte.
Kým pri vektorizáciu sme sa od vlákien posunuli o úroveň nižšie a riešili sme, ktoré inštrukcie procesor vykonáva, tentoraz sa presunieme o úroveň vyššie. Open Multi-Processing (OpenMP) nám totiž dovoľuje program jednoducho paralelizovat, ale pritom za nás vyrieši vytváranie vlákien, ich synchronizáciu a správu. Obdobne ako pri vektorizácia bude táto lekcia len letmým načrtla problému. Podrobnejšie vysvetlenie by totiž vydalo na samostatný kurz. Cieľom tejto lekcie je získať predstavu o OpenMP a hlavne ukázať, že niečo také vôbec existuje.
OpenMP
OpenMP je skratka Open Multi-Processing. Ide o štandard a tak je OpenMP iba popis rozhrania slúžiace k paralelizáciu programu - v tomto prípade definuje direktívy pre prekladač (časť kódu začínajúce mriežkou), ktoré následne vygenerujú Paralelizované kód.
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Obmedzená ponuka: Nauč sa všetko a ušetri
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V C ++ tutoriálu sa od vlákien presunieme vyššie a pozrieme sa na štandard OpenMP, ktorý za nás spravuje vlákna a program paralelizujú.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.