-
Data: 2013-04-18 01:33:46
Temat: Re: Podpis cyfrowy większej ilości podmiotów
Od: Edek <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają