-
1. Data: 2014-07-01 19:20:13
Temat: sse i skaczace wyniki
Od: firr <p...@g...com>
ostatnio sie troche chyba przekodowalem
i nie che mi sie kodowac (trzeba bedzie troche
odpoczac) ale robie jeszcze drobne testy
i np dziwi mnie ze sytuacja jaka mam
w przypadku prob porownywania mnozen
100k 3-floatowych wektorow przez 9-floatowa
tablice 100k x 12 bajtów = 1.2 MB
najdziwniejsze jest to ze wyniki strasznie
skaczą w zaleznosci np od kolejnosci
uruchamiania petli (czy float przy sse czy
sse po float, skacza tez przy zmiani ilosci
petlowania tego - i to skacza na tyle ze
po prostu te wyniki jest mi ciezko jednoznacznie
zinterpretowac - choc to moze dlatego ze
nie wiem czego sie spodziewac i jak to zinterpretowac
jak robilem proby to mam faktycznie 5 rodzajów wynikow
1) sse jest sloadowo szybszy od float
2) nieco szybsze jest to co jest wykonywane drugie
3) znacznie szybsze jest to co jest wykonywane drugie
4) sse jest 10 razy szybszy od float (?)
5) sse jest 5 razy szybszy od float
np dla ostatnich moich wynikow loopowanie 100
razy tego mnozenia 100k zajmuje 182 ms w zwylym mnozeniu przez floaty 44 ms w
mnozeniu przez sse
- sa to niby dosyc racjonalnie wygladajace wyniki
ale jednak wydawaloby sie ze jako ze raczej dominuje czytanie i pisanie do pamieci a
nie mnozenia i dodawania nie powinno to byc az tyle -- (ale to powiedzmy nie jest az
tak dziwne dziwne sa te
skoki - moj timer na ogol sie sprawdzal tj mierzyl
tak jak trzeba fizyczne czasy wiec chyba jest ok,
choc czasem jakis blad tez jest nietrudno zrobic
- tak ze w sumie nie wiem jak to rozumiec - trzeba bedzie tych testow porobic wiecej
-- juz troche nawyklem do intrisicow tak ze nawet pewnie dalbym rade przepisac cale
srodkowe* pipeline mojego rasteryzera
i wtedy najlepiej by bylo obejrzec to na czasach ramki
* bo samej rasteryzacji trojkata raczej sie nie da przepisac na sse bo nie sa to
zgodne operacje te trojkaty sa calkiem inne i gdzie iniedziej itp nie
dadza sie w ten sposob zrobic - jest to nawet chyba dobry przyklad kodu ktory jest w
ciezkim lópie a ktory absolutnie (chyba - a moze gdyby tak 4 scanline robic na raz,
nie wiem) nie da sie odpalic na sse - wiecej testow jak odpoczne
-
2. Data: 2014-07-01 19:32:56
Temat: Re: sse i skaczace wyniki
Od: firr <p...@g...com>
a nie, sekunda - jest jeszcze dziwnej w tym ostatnim tescie mialem literowke i
mnozylem 10k floatow ten wynik jest jeszcze dziwniejszy
float 1700 ms (co nie ejst normalne i jest tu jakis blad tylko ze bledu nie widze
moze to jakis blad generatora kodu w asmie, nie mam pojecia) a sse 40 ms
- dla tkiego 100x wymnazania z kopiowaniem tj 100k wektorow wyjsciowych z jednego
przemnozenia podaje na wejscie drugiego i tak 100 razy - dla wersji bez
zawijania tylko 100 razy zwykle wymnozenia jest float 190 ms sse 21 ms (z tego
ostatniego widac ze po prostu kopiowanie zajmuje polowe czasu - cos tu jest nie tak -
ale czasy sa chyba dobre tak wiec jakis bug jest w tym ze ten kod na floatach
strasznie i patologicznie sie muli