http://titan.fsb.hr/~venovako/nastava/PMF-MO/ParAlg12/sw/PA.zip
Na gornjem linku je arhiva koja pod PA/PAZ sadrzi (nadam se) dovrsenu C++ implementaciju [url=http://www.netlib.org/lapack/lawns/lawn96.ps]SUMMA[/url] algoritma za paralelno mnozenje matrica.
Osim sto je algoritam zanimljiv sam po sebi, implementacija sadrzi dosta zgodnih alata koje slobodno iskoristite u vlastitim programima, kao sto su inicijalizacija Kartezijskih (pod)topologija, cijepanje tekstualnog fajla s matricom na hrpu fajlova i njihovo merganje u jedan veci, i sl. Naravno, ne jamcim da su ideje najopcenitije ili najefikasnije, ali mogu vam ustedjeti mnogo vremena.
Mozete probati npr. s matricama A i B, dobivenima iz [url=http://www.octave.org/]Octave[/url] kao [tt]A=rand(30,45)[/tt] i [tt]B=rand(45,30)[/tt].
Slobodno eksperimentirajte; ako je nesto nejasno, pitajte (prelijen sam bio pisati obimnije komentare).
http://titan.fsb.hr/~venovako/nastava/PMF-MO/ParAlg12/sw/PA.zip
Na gornjem linku je arhiva koja pod PA/PAZ sadrzi (nadam se) dovrsenu C++ implementaciju SUMMA algoritma za paralelno mnozenje matrica.
Osim sto je algoritam zanimljiv sam po sebi, implementacija sadrzi dosta zgodnih alata koje slobodno iskoristite u vlastitim programima, kao sto su inicijalizacija Kartezijskih (pod)topologija, cijepanje tekstualnog fajla s matricom na hrpu fajlova i njihovo merganje u jedan veci, i sl. Naravno, ne jamcim da su ideje najopcenitije ili najefikasnije, ali mogu vam ustedjeti mnogo vremena.
Mozete probati npr. s matricama A i B, dobivenima iz Octave kao A=rand(30,45) i B=rand(45,30).
Slobodno eksperimentirajte; ako je nesto nejasno, pitajte (prelijen sam bio pisati obimnije komentare).
|