Ciele
- Vyskúšať si prácu s maticami pomocou MPI.
- Oboznámiť sa s možnosťou definovania vlastných dátových typov v MPI.
Postup
Krok 1: Paralelné násobenie matíc
Vašou úlohou bude implementovať paralelné násobenie matíc.
Úloha 1.1
Stiahnite si a preštudujte sekvenčnú implementáciu násobenia matíc.
Úloha 1.2
Upravte túto implementáciu tak, aby výpočet bol paralelný — každý z procesov vypočíta časť výsledku a na konci hlavný proces vypíše výslednú maticu.
Riešenie
Poznámka
Pri práci s maticami v MPI je vhodné, aby jednotlivé riadky matice boli uložené v pamäti kontinuálne. Informácie o tom, ako dosiahnuť takýto stav pri dynamickej alokácii matíc prečítate v comp.lang.c FAQ
Krok 2: Vlastné typy
Úloha 2.1
Oboznámte sa s príkladmi definovania vlastných dátových typov v knihe Paralelné programovanie, alebo v materiáloch LLNL.
Zdroje
- Blaise Barney, Lawrence Livermore National Laboratory: Message Passing Interface (MPI)