Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit

Ahoj!
Potřebuji poradit s paralelní distribucí matice. Jde mi o to, že neznám algoritmus, který by nějak univerzálně dokázal rozdistribuovat matici pro libovolný počet procesů. Uvedu příklad:
Matice:
Pokud mám jeden proces, je situace jasná - s celou maticí bude pracovat sám. Pokud mám 2 procesy, mám již 2 možnosti - rozdělit matici "podélně" a "příčně". Tedy, že každý z procesů má 2 řádky nebo 2 sloupce.
Pro 3 procesy je situace ještě horší, protože tam už nerozdělím matici rovnoměrně (
).
Pro 4 procesy je situace asi ideální, matici lze rozdělit na čtvrtinové bloky, pro 5 pak opět případ s nerovnoměrným rozdělením.
Jde mi o to, že bych rád realizoval něco podobného, jako je popsáno ZDE na snímku 18. Tedy nějakou Coarse-grain distribuci, abych pak mohl počítat v jednom procesu s několika čísly z matice.
Je trochu jasné, o čem mluvím? Zajímá mě, jestli někdo neznáte algoritmus, který se v této situaci používá - sám jsem to nikdy neřešil, a veškeré moje pokusy o algoritmus (v případě zájmu můžu dodat) skončily u toho, že bych se dopočetl nějakého čísla procesů vzhledem k velikosti matice a to by nešlo změnit, tedy, každá matice by měla svoje "ideální" číslo procesů a pro jiný počet by algoritmus nefungoval. Potřebuji však testovat výkonnost pro různé počty procesů, a tak takové řešení není ideální.
Velmi vám všem děkuji za odpovědi,
Katsu
Offline