Ciele
- Vyskúšať si prácu s MPI
- Naučiť sa paralelizovať jednoduchý algoritmus
- Vyskúšať použitie skupinovej komunikácie
Postup
Krok 1: Výpočet hodnoty čísla π
Jedným z algoritmov pre výpočet hodnoty čísla π je metóda Monte Carlo:
Úloha 1.1
Stiahnite si a preštudujte sekvenčnú implementáciu uvedeného algoritmu.
Úloha 1.2
Upravte túto implementáciu tak, aby výpočet bol paralelný, pričom po každom kole výpočtu sa vypíše priemerná hodnota π získaná zo všetkých procesov. Na komunikáciu použite funkcie MPI_Send
a MPI_Recv
.
Riešenie
Krok 2: Skupinová komunikácia
Funkcie skupinovej komunikácie umožňujú komunikovať viacerým procesom naraz. Príkladmi takejto komunikácie sú funkcie:
Pri skupinovej komunikácii je rovnaká funkcia volaná odosielajúcimi aj prijímajúcimi procesmi. To, ktoré parametre sú relevantné pre ktoré procesy je uvedené v dokumentácii každej funkcie.
Úloha 2.1
Upravte paralelný výpočet π tak, aby využíval funkciu MPI_Reduce
.
Riešenie
Zdroje
- Blaise Barney, Lawrence Livermore National Laboratory: Message Passing Interface (MPI)