eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPodpis cyfrowy większej ilości podmiotówRe: Podpis cyfrowy większej ilości podmiotów
  • Data: 2013-04-17 23:19:17
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: firr kenobi <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu środa, 17 kwietnia 2013 22:13:19 UTC+2 użytkownik Edek napisał:
    > Dnia Wed, 17 Apr 2013 10:53:49 -0700 po głębokim namyśle firr kenobi
    >
    > rzekł:
    >
    >
    >
    > > W dniu środa, 17 kwietnia 2013 19:42:11 UTC+2 użytkownik M.M. napisał:
    >
    > >> On Wednesday, April 17, 2013 6:02:23 PM UTC+2, Edek wrote:
    >
    > >>
    >
    > >> [...]
    >
    > >>
    >
    > >> > Dalej mi się teraz już nie chce... firr, zapodaj coś do testu.
    >
    > >>
    >
    > >> > PS: obie kompilowane tak
    >
    > >>
    >
    > >> > gcc -O3 -fwhole-program -march=native main.cpp -o mb
    >
    > >>
    >
    > >> Zadanie jest dobre. Jest dostatecznie proste żeby się pobawić
    >
    > >>
    >
    > >> przy okazji dyskusji na grupie i dość skomplikowane aby dało
    >
    > >>
    >
    > >> się pobawić w optymalizację.
    >
    > >>
    >
    > >>
    >
    > > dla mnie nieco dziaczne te testy bo co to ma mierzyc - ew chyba ogolna
    >
    > > wydajnosc algorytmu (tutaj wychodzi 1.4 miliarda iteracji na pare sekund
    >
    > > czyli wydajnosc podobna do mojej optymalizowanej wersji na prawie 10
    >
    > > letnim p4)
    >
    >
    >
    > O ile dobrze pamiętam, ty miałeś powyżej 2 GFLOPA, to nie jest 1.4 mld
    >
    > iteracji. Raczej jakieś 90mln.
    >

    pozniej poprawilem do 3 GFlopa

    1.4 mld = 14 GFloatow (na 4 sekundy) = 3.5 GFloata na sekunde

    zgadza sie - wzrosło o .5 GFloata
    z jakiegos powodu, moze dluzsze itereacje kreca sie troche szybciej albo wyrzucenie
    setpixeli
    troche przyspieszylo reszte


    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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: