-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!not-for-mail
From: Edek <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Podpis cyfrowy większej ilości podmiotów
Date: Wed, 17 Apr 2013 23:33:46 +0000 (UTC)
Organization: CI TASK http://www.task.gda.pl/
Lines: 78
Message-ID: <kknbgp$8t3$1@news.task.gda.pl>
References: <kkdqot$5rl$1@node2.news.atman.pl> <kkh42k$81t$1@news.task.gda.pl>
<b...@g...com>
<kkhr56$a62$1@news.task.gda.pl>
<3...@g...com>
<kkkjpe$b54$1@news.task.gda.pl>
<8...@g...com>
<4...@g...com>
<c...@g...com>
<6...@g...com>
<1...@g...com>
<a...@g...com>
<0...@g...com>
<kkmb61$qln$2@news.task.gda.pl> <kkmbce$qln$3@news.task.gda.pl>
<f...@g...com>
<kkmh2f$qln$5@news.task.gda.pl>
<9...@g...com>
<f...@g...com>
<kkmvov$hu3$3@news.task.gda.pl>
<c...@g...com>
NNTP-Posting-Host: 178-36-247-220.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.task.gda.pl 1366241626 9123 178.36.247.220 (17 Apr 2013 23:33:46 GMT)
X-Complaints-To: a...@n...task.gda.pl
NNTP-Posting-Date: Wed, 17 Apr 2013 23:33:46 +0000 (UTC)
User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
Xref: news-archive.icm.edu.pl pl.comp.programming:202635
[ ukryj nagłówki ]Dnia Wed, 17 Apr 2013 14:19:17 -0700 po głębokim namyśle firr kenobi
rzekł:
> 1.4 mld = 14 GFloatow (na 4 sekundy) = 3.5 GFloata na sekunde
Ja widzę 1.4e9 na 2.5s czyli 560 M-iter/s. Licząc tak jak twój kod
wychodzi 8GFlopów z grubsza.
> zgadza sie - wzrosło o .5 GFloata z jakiegos powodu, moze dluzsze
> itereacje kreca sie troche szybciej albo wyrzucenie setpixeli troche
> przyspieszylo reszte
Zgadza się tyle: mówisz że masz procek z 2 GFlop i wyciskasz 3.5GFlop.
Jury nalicza dwa kółka wokół własnej osi przed metą za przekroczenie
II prędkości sonicznej...
> co do tego kodu
>
> vmulsd %xmm4, %xmm4, %xmm7
> // re * re -> xmm7
> vmovapd %xmm4, %xmm6 vmulsd %xmm3, %xmm3, %xmm5
> //im*im -> xmm5
> vaddsd %xmm5, %xmm7, %xmm4
> // re*re+im*im -> xmm4
> vucomisd %xmm0, %xmm4
> // re*re+im*im > 4 ?
> ja .L4
>
> // itd
>
> .L6:
> addl $1, %eax vsubsd %xmm5, %xmm7, %xmm4
> vcvtsi2sd %eax, %xmm5, %xmm5
> vaddsd %xmm6, %xmm6, %xmm6 vaddsd %xmm1, %xmm4, %xmm4
> vmulsd %xmm3, %xmm6, %xmm3 vaddsd %xmm2, %xmm3, %xmm3 vucomisd
> %xmm5, %xmm0
> ja .L7
>
> to jest nowoczesny kod kod na avx ale skalarny na doublach, reczne
> przepisanie tego powinno przyspieszyc pewnie prawie 8 razy
Mówisz o naiwnej wersji, tej pierwszej, 4.0s. W drugiej nie widzę
tych instrukcji.
W tej druga sprawa jest bardziej złożona:
te pętle mają dużo zależności. Gdy się zmieni BY_N na dużo (64 powiedzmy)
nagle obliczenia są zwektoryzowane, ale wolniejsze. Dla BY_N 12
(jak w źródle) okazuje się, że wystarcza rejestrów na to, żeby nie
wektoryzować i z jakiegoś powodu gcc nie wektoryzuje, i podejrzewam,
że słusznie. Lepiej mieć małe bloki po wiele operacji niezależnych od
siebie niż w jednym miejscu kod z wieloma zależnościami, bo tak
się ten kod wektoryzuje (przez te if-y, rezultaty...).
W dzisiejszych procesorach rejestry są na tyle niezależne, że wystarcza
jednostek obliczeniowych na pokrycie równoległe wielu operacji na
wielu nominalnych rejestrach i - może to zużywa więcej prądu, ale -
prawdopodobnie wykonuje się podobnie do wektoryzacji, a w tej pętli
nie liczy się przepustowość ale "latency" instrukcji, więc im mniej
nagromadzenia zależnych przebiegów tym lepiej. Co za różnica,
czy zrobi się 12 rejestrów po 4 double, czy 12 rejestrów i przeplot
i stałe na szczycie stosu i operacje po jednym double. I tak
po każdych obliczeniach trzeba zrobić if-a lub jakieś wektoryzowalne
adc (żeby zmienić rezultat) i być może gcc tego nie umie a ręcznie
się da.
Jak mówisz, że to da się przyspieszyć 8 razy: show me. Na pewno
pisząc assemblera da się to zrobić nie-wolniej i pewnie szybciej,
ale coś wątpię w te 8 razy.
PS. I dlaczego dkn muszę szukać tego wątku pod nazwą
"Podpis cyfrowy...". Nie dało się zainteresować kogokolwiek w
oryginalnym wątku?
PS2. Wciągnął mnie chwilowo temat ;) NA stronie Intela jest
implementacja w AVX
--
Edek
Następne wpisy z tego wątku
- 18.04.13 09:01 firr kenobi
- 18.04.13 09:15 M.M.
- 18.04.13 09:43 M.M.
- 18.04.13 09:44 firr kenobi
- 18.04.13 10:28 M.M.
- 18.04.13 10:42 firr kenobi
- 18.04.13 11:04 M.M.
- 18.04.13 11:12 firr kenobi
- 18.04.13 11:19 firr kenobi
- 18.04.13 11:24 firr kenobi
- 18.04.13 11:27 M.M.
- 18.04.13 11:47 firr kenobi
- 18.04.13 11:53 M.M.
- 18.04.13 11:55 M.M.
- 18.04.13 12:00 firr kenobi
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)
- 2025-01-18 znowu kradno i sie nie dzielo
- 2025-01-18 Zieloni oszuchiści
- 2025-01-18 Zielonka => Specjalista ds. public relations <=
- 2025-01-18 Warszawa => Frontend Developer (JS, React) <=
- 2025-01-18 Warszawa => Software .Net Developer <=
- 2025-01-18 Warszawa => Developer .NET (mid) <=
- 2025-01-18 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]