Article View: pl.comp.lang.asm
Article #1809SSE2: znaczenie wyrównania danych
From: Wojciech Muła
Date: Fri, 16 May 2008 20:41
Date: Fri, 16 May 2008 20:41
24 lines
1948 bytes
1948 bytes
Kontynuacja ostatniego tematu, tj. SSE2 wolniejsze niż MMX; testowany algorytm http://wmula.republika.pl/snippets/asm/blur.c (rozmycie obrazków grayscale). Tym razem testy przeprowadziłem na komputerze C2D E8200 -- na nim większość całkowitoliczbowych rozkazów SSE wykonuje się w jednym cyklu. Po zgrubnej zamianie nazw rejestrów i użyciu MOVDQU (dla bezpieczeństwa) doznałem szoku: kod wolniejszy niż MMX! Prawie zemdlałem. :) Spróbowałem użyć zamiast MOVDQU rozkazu LDDQU -- nie pomogło. W sumie dane mieściły się w L2, więc raczej nie mogło. Ostatecznie postanowiłem wyrównać adresy dwóch struktur, do których odwołują się procedury (obraz oraz pomocnicza tablica), wszystkie odczyty i zapisy do pamięci wykonują się poprzez MOVDQA, zaś dane niewyrównane które są potrzebne zostały wyciągnięte rozkazem PALIGNR. I wiecie co? Przyspieszenie o 95% w stosunku do kodu MMX2 (przyspieszenie 6 razy w stosunku do kodu x86). Jak się wyśpię, to doszlifuję i wrzucę na stronę kod. w.
Technical Details
Message-ID:
<20080516224152.58baddcc.wojciech_mula@poczta.null.onet.pl.invalid>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail From: Wojciech Muła <wojciech_mula@poczta.null.onet.pl.invalid> Newsgroups: pl.comp.lang.asm Subject: SSE2: znaczenie wyrównania danych Date: Fri, 16 May 2008 22:41:52 +0200 Organization: TP - http://www.tp.pl/ Lines: 24 Message-ID: <20080516224152.58baddcc.wojciech_mula@poczta.null.onet.pl.invalid> NNTP-Posting-Host: aebq94.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: nemesis.news.neostrada.pl 1210970930 18696 79.186.42.94 (16 May 2008 20:48:50 GMT) X-Complaints-To: usenet@news.neostrada.pl NNTP-Posting-Date: Fri, 16 May 2008 20:48:50 +0000 (UTC) X-Newsreader: Sylpheed 2.4.8 (GTK+ 2.10.14; i686-pc-mingw32) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit