Lekce 23 - OpenMP - Paralelizace bez manuálního vytváření vláken v C++
V minulé lekci, Vektorizace v C++ - Restrict ukazatel a zarovnání paměti, jsme pokračovali v tématu vektorizace. Představili jsme si ukazatel restrict a jak optimalizovat zarovnáním paměti.
Zatímco při vektorizaci jsme se od vláken posunuli o úroveň níže a řešili jsme, které instrukce procesor provádí, tentokrát se přesuneme o úroveň výše. Open Multi-Processing (OpenMP) nám totiž dovoluje program jednoduše paralelizovat, ale přitom za nás vyřeší vytváření vláken, jejich synchronizaci a správu. Obdobně jako u vektorizace bude tato lekce pouze letmým nastíněním problému. Podrobnější vysvětlení by totiž vydalo na samostatný kurz. Účelem této lekce je získat představu o OpenMP a hlavně ukázat, že něco takového vůbec existuje.
OpenMP
OpenMP je zkratka Open Multi-Processing. Jedná se o standard a tak je OpenMP pouze popis rozhraní sloužící k paralelizaci programu - v tomto případě definuje direktivy pro překladač (část kódu začínající mřížkou), které následně vygenerují paralelizovaný kód.
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V C++ tutoriálu se od vláken přesuneme výše a podíváme se na standard OpenMP, který za nás spravuje vlákna a program paralelizuje.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.