1
Vývoj / Re: OpenMP na multicore spomaľuje
« kdy: 23. 07. 2010, 21:26:07 »Davej si bacha jak casto tu funkci IDS volas, bo vytvoreni tymu vlaken a paralelizace neco stoji - cca. mikrosekundy.
Z tohoto duvodu je treba dbat na to, aby byla v paralelizovane casti dost velka porce prace. Ta funkce je velice jednoducha a pokud nejsou indexy i a j dostatecne velke (cca. > 1000), pak se pouziti OpenMP nevyplati.
Pro tento pripad bych doporucil schedule static.
Hodnota raster->points_count a teda aj index i sa pohybuje medzi 1 000 000 az 100 000 000. Index j je radovo mensi - asi 15 - 20.
Implementacia tohto algoritmu pre CUDA (gefroce 9800gt 512MB) bola cca 7-krat rychlejsia ako 1 CPU (jedno vlakno). Tam je este navyse rezia s prenosom dat do GK a naspat do RAM.
S openMP skusenosti nemam, ale podla prikladov (openmp.org) to vyzeralo tak jednoducho :-) ...