===== 2. domácí úloha: Paralelizace pomocí OpenMP ===== Ve 3. týdnu jsme se seznámili se základy OpenMP. V 2. domácí úloze si budete moct vyzkoušet, že úspěšnost různých způsobů paralelizace závisí do značné míry na vstupních datech. Pro efektivní zvýšení výkonu byste měli svoji implementaci uzpůsobit dostupným znalostem o vstupních datech. V této úloze budete postupně pomocí OpenMP implementovat 4 metody s rozdílným přístupem k paralelizaci. Každá metoda dostane na vstup datovou sadu - ''data'', složenou z vektorů náhodně generovaných čísel. Vaším úkolem je čísla v každém vektoru sečíst a tento součet uložit do vektoru ''solution'' na index odpovídající pořadí vektoru, který jste sčítali. Stáhněte si prosím balíček [[https://cw.fel.cvut.cz/wiki/_media/courses/b4b36pdv/tutorials/hw03_openmp.zip|hw03_openmp.zip]]. Při implementaci můžete vycházet ze sekvenční implementace v souboru ''Executor.cpp''. Vaší implementace budeme porovnávat s referenčním řešením. Vy budete implementovat metody v souboru ''SumsOfVectors.cpp''. Tam rovněž naleznete přesný popis toho, co po vás chceme. Popis jednotlivých datových sad s otázkami k zamyšlení naleznete v souboru ''main.cpp''. Datové sady jsou celkem 4. U každé datové sady je popsáno, jaké výsledky v porovnání s ostatními implementacemi očekáváme. Za úspěšné vyřešení datové sady považujeme to, že výsledek, který vrátí vámi implementovaná metoda je správný a čas exekuce odpovídá časům referenčního řešení. Popis jednotlivých datových sad: - Sada, která obsahuje malý počet velmi dlouhých vektorů - Sada, kde délky vektorů mají velký rozptyl - Sada, která obsahuje velký počet vektorů malé konstantní velikosti - Sada, která je nevhodná k paralelizaci Body můžete získat za vyřešení prvních tří datových sad a to následovně: za vyřešení jedné dostanete 0.5 bod, pokud budou správně 2, budete mít 1 bod. Za vyřešení všech tří získáte 2 body. Zip archiv obsahující soubor ''SumsOfVectors.cpp'' odevzdávejte do systému BRUTE. Termín odevzdání je 15. 3. 23:59 CET pro středeční cvičení a 16. 3. 23:59 CET pro čtvrteční cvičení. Rozhoduje cvičení, na které jste zapsaní v KOSu. Pokud byste měli jakýkoliv problém s vypracováním, neváhejte použít forum.