od _mffcore_ » 31. 3. 2008 17:12
Zkousel jsem ruzny pocet vlaken, ale 8 mi vychazelo nejlepe ze vsech moznosti, ktere jsem zkousel. Vyrazne vetsi pocet vlaken mi vypocet nekolikanasobne zpomalil (treba onech 256 asi 3x). Popravde bych cekal jako optimalni hodnotu bud 8 nebo 16 (hyperthreading). Pocet vlaken mam pevne zadratovano na 8. Ale je pravda, ze pro velmi male matice se nevyplati vypoustet tolik vlaken. Snad na tom nebude nikdo pocitat velmi matice s tim, ze by mu zalezelo na rychlosti. Large mi to dela pod 5 sekund, Medium za 0.2 sekundy. Vse za predpokladu, ze vstupni data jsou nacachovana v pameti (napr. vypocet spustim 2x po sobe a pocitam cas druheho vypoctu).
Delali jste paralelizaci cteni dat ze souboru ci ukladani? Myslim, ze jedine, co by mohlo mit smysl, je zacit vypocet jeste v dobe, kdy nejsou nactena vsechna data ... a naopak zacit ukladat v dobe, kdy jeste vsechno neni spocteno. Ja to mam seriove ... napred prectu, pak spocitam, pak ulozim.
Zkousel jsem ruzny pocet vlaken, ale 8 mi vychazelo nejlepe ze vsech moznosti, ktere jsem zkousel. Vyrazne vetsi pocet vlaken mi vypocet nekolikanasobne zpomalil (treba onech 256 asi 3x). Popravde bych cekal jako optimalni hodnotu bud 8 nebo 16 (hyperthreading). Pocet vlaken mam pevne zadratovano na 8. Ale je pravda, ze pro velmi male matice se nevyplati vypoustet tolik vlaken. Snad na tom nebude nikdo pocitat velmi matice s tim, ze by mu zalezelo na rychlosti. Large mi to dela pod 5 sekund, Medium za 0.2 sekundy. Vse za predpokladu, ze vstupni data jsou nacachovana v pameti (napr. vypocet spustim 2x po sobe a pocitam cas druheho vypoctu).
Delali jste paralelizaci cteni dat ze souboru ci ukladani? Myslim, ze jedine, co by mohlo mit smysl, je zacit vypocet jeste v dobe, kdy nejsou nactena vsechna data ... a naopak zacit ukladat v dobe, kdy jeste vsechno neni spocteno. Ja to mam seriove ... napred prectu, pak spocitam, pak ulozim.