eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPodpis cyfrowy większej ilości podmiotów
Ilość wypowiedzi w tym wątku: 101

  • 31. Data: 2013-04-17 16:21:54
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: Edek <e...@g...com>

    Dnia Wed, 17 Apr 2013 06:35:28 -0700 po głębokim namyśle M.M. rzekł:

    > Wziąłem taką wersję:
    > http://pastebin.com/JBhgCNLr
    >
    >
    > Kompilacja:
    > g++ -O3 main.cpp -o mb
    >
    >
    > Uruchomienie:
    > time ./mb 1000 1000
    > test = 1423724113.000000
    > real 0m8.968s
    > user 0m8.945s
    > sys 0m0.004s
    >
    > Jak to należy zoptymalizować?

    Skompilowałem tą wersję:

    http://pastebin.com/U4ecBuWd

    Wygląda na zwektoryzowaną jak cholera, a to domyślne gcc.
    Kompilacja:

    gcc -S -O3 -march=native main.cpp

    Nie wiem tylko, jakie kolorowanie w pastebin wybrać pod assembler,
    pomijając kwestię "uważaj co jest pod Ctrl-C zanim wkleisz"...

    $ time ./mb 1000 1000
    test = 1423724113.000000

    real 0m5.158s
    user 0m5.146s
    sys 0m0.000s

    To jest i7, wygląda na to że w syntetycznych i3 jest podobne do i7.

    --
    Edek



  • 32. Data: 2013-04-17 16:25:18
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: Edek <e...@g...com>

    Dnia Wed, 17 Apr 2013 14:21:54 +0000 po głębokim namyśle Edek rzekł:

    > Dnia Wed, 17 Apr 2013 06:35:28 -0700 po głębokim namyśle M.M. rzekł:
    >
    >> Wziąłem taką wersję: http://pastebin.com/JBhgCNLr

    > Skompilowałem tą wersję:
    >
    > http://pastebin.com/U4ecBuWd

    Ślepota, znalazłem ASM (NASM):

    http://pastebin.com/4bfNzwMc

    --
    Edek


  • 33. Data: 2013-04-17 16:53:33
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: "M.M." <m...@g...com>

    On Wednesday, April 17, 2013 4:25:18 PM UTC+2, Edek wrote:
    > Dnia Wed, 17 Apr 2013 14:21:54 +0000 po głębokim namyśle Edek rzekł:
    > > Dnia Wed, 17 Apr 2013 06:35:28 -0700 po głębokim namyśle M.M. rzekł:
    > >> Wziąłem taką wersję: http://pastebin.com/JBhgCNLr
    > > Skompilowałem tą wersję:
    > > http://pastebin.com/U4ecBuWd
    > Ślepota, znalazłem ASM (NASM):
    > http://pastebin.com/4bfNzwMc

    Czy to juz jest zoptymalizowana recznie wersja?
    Jesli tak, to jaki ma czas wzgledem GCC?

    Pozdrawiam


  • 34. Data: 2013-04-17 17:16:14
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: Edek <e...@g...com>

    Dnia Wed, 17 Apr 2013 07:53:33 -0700 po głębokim namyśle M.M. rzekł:

    > On Wednesday, April 17, 2013 4:25:18 PM UTC+2, Edek wrote:
    >> Dnia Wed, 17 Apr 2013 14:21:54 +0000 po głębokim namyśle Edek rzekł:
    >> > Dnia Wed, 17 Apr 2013 06:35:28 -0700 po głębokim namyśle M.M. rzekł:
    >> >> Wziąłem taką wersję: http://pastebin.com/JBhgCNLr
    >> > Skompilowałem tą wersję:
    >> > http://pastebin.com/U4ecBuWd
    >> Ślepota, znalazłem ASM (NASM):
    >> http://pastebin.com/4bfNzwMc
    >
    > Czy to juz jest zoptymalizowana recznie wersja?
    > Jesli tak, to jaki ma czas wzgledem GCC?

    Nie, to było to co wkleiłeś tylko skompilowane jak opisałem.

    Zmieniłem tylko kolorowanie, dlatego drugi raz :)

    --
    Edek


  • 35. Data: 2013-04-17 17:47:10
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: firr kenobi <p...@g...com>

    i co to niby mierzyc ? moja wersja
    niezuptymalizowana to bardziej

    int mandelbrot_n( double cRe, double cIm, int max_iter )
    {

    double re = 0;
    double im = 0;

    for(int n=0; n<max_iter; n++)
    {

    if( re * re + im * im > 4.0 ) return n;

    double re_n = re * re - im * im + cRe;
    double im_n = 2 * re * im + cIm;

    re = re_n;
    im = im_n;

    }

    return 0;

    }





    void mandelbrot_test(int CLIENT_X, int CLIENT_Y, double ox, double oy, double lx, int
    max_iter)
    {

    double ly = lx * CLIENT_Y / CLIENT_X;

    double dx = lx / CLIENT_X;
    double dy = ly / CLIENT_Y;

    double ax = ox - lx * 0.5 + dx * 0.5;
    double ay = oy - ly * 0.5 + dy * 0.5;


    for( int j=0 ; j<CLIENT_Y; j++ )
    {
    double c_im = ay + j * dy;

    for( int i=0 ; i<CLIENT_X; i++ )
    {
    double c_re = ax + i * dx;

    int n = mandelbrot_n(c_re, c_im, max_iter);

    SetPixelInDibInt(i ,j, palette[n]);

    }
    }
    }

    test()
    {
    mandelbrot_test(500,400,-.5, 0., 3.0, 100);

    }

    to trwa 300 ms -

    tu jest skompilowane wersja

    mandelbrot_test(500,400,-.5, 0., 3.0, 500);

    https://dl.dropboxusercontent.com/u/42887985/mdbtst.
    zip

    co trwa ok 1400 ms i zoptymalizowane co
    trwa ok 75 ms

    mozesz sobie skompilowac tamten kod wyzej
    w wersji dla 500 iteracji i porownac z moim execami - i powiedziec tez mi jak
    one szybko chodzą - bedzie to troche
    przyblizony test bo bez setpixel ale
    costam powie


  • 36. Data: 2013-04-17 18:02:23
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: Edek <e...@g...com>

    Dnia Wed, 17 Apr 2013 07:53:33 -0700 po głębokim namyśle M.M. rzekł:

    > On Wednesday, April 17, 2013 4:25:18 PM UTC+2, Edek wrote:
    >> Dnia Wed, 17 Apr 2013 14:21:54 +0000 po głębokim namyśle Edek rzekł:
    >> > Dnia Wed, 17 Apr 2013 06:35:28 -0700 po głębokim namyśle M.M. rzekł:
    >> >> Wziąłem taką wersję: http://pastebin.com/JBhgCNLr
    >> > Skompilowałem tą wersję:
    >> > http://pastebin.com/U4ecBuWd
    >> Ślepota, znalazłem ASM (NASM):
    >> http://pastebin.com/4bfNzwMc
    >
    > Czy to juz jest zoptymalizowana recznie wersja?
    > Jesli tak, to jaki ma czas wzgledem GCC?

    Tu masz zoptymalizowaną (expression template dla ubogich):

    http://pastebin.com/itqTw1ii

    Poprzedni czas dla przypomnienia:

    Wed Apr 17 17:54:12 {0} user@localhost ~/tmp/firr2]
    $ time ./mb 1000 1000
    test = 1423724113.000000

    real 0m5.156s
    user 0m5.143s
    sys 0m0.001s

    Aktualny, to co wkleiłem:

    $ time ./mb1 1000 1000
    test = 1423724113.000000

    real 0m2.605s
    user 0m2.596s
    sys 0m0.001s

    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

    --
    Edek


  • 37. Data: 2013-04-17 19:42:11
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: "M.M." <m...@g...com>

    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ę.

    Pozdrawiam


  • 38. Data: 2013-04-17 19:48:55
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: "AK" <n...@n...com>

    Użytkownik "Miroslaw Kwasniak" <m...@i...zind.ikem.pwr.wroc.pl> napisał:

    > Ale długo to trwało, bo Cooley&Tukey nie byli piewszymi, którzy wynaleźli FFT
    > ;)

    O ! A to ciekawostka. Bylem przekonany, ze to oni.
    Mozesz rozwinac termat ?
    Czyzby "zerzneli" ?

    AK


  • 39. Data: 2013-04-17 19:53:49
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: firr kenobi <p...@g...com>

    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)
    zapusclem wersje optymalizowana na tym obszarze i dala wynik 4 sekundy (suma
    kontrolna co prawda 1.415 miliarda nie
    dokladnie jak tu ale to pewnie wynika
    z drobnych roznic w kodzie petli itp
    raczej to jest to samo obliczenie)
    wersa nieoptymalizowana trwa tak dlugo ze nie chce mi sie czekac - podejrzewam ze 80
    sekund ;)




  • 40. Data: 2013-04-17 20:47:59
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: firr kenobi <p...@g...com>

    W dniu środa, 17 kwietnia 2013 16:25:18 UTC+2 użytkownik Edek napisał:
    > Dnia Wed, 17 Apr 2013 14:21:54 +0000 po głębokim namyśle Edek rzekł:
    >
    >
    >
    > > Dnia Wed, 17 Apr 2013 06:35:28 -0700 po głębokim namyśle M.M. rzekł:
    >
    > >
    >
    > >> Wziąłem taką wersję: http://pastebin.com/JBhgCNLr
    >
    >
    >
    > > Skompilowałem tą wersję:
    >
    > >
    >
    > > http://pastebin.com/U4ecBuWd
    >
    >
    >
    > Ślepota, znalazłem ASM (NASM):
    >
    >
    >
    > http://pastebin.com/4bfNzwMc
    >
    >
    >
    wypadaloby raczej czytac wersje z
    komantarzami - borland jakos potrafi
    cos takiego wiec i gcc chyba powinien

    (wstawia linijki zrodla w c w postaci
    komantarza + sa nazwy funkcji itp
    nieststy gubi nazwy niektorych zmiennych, (niektóre są, zdaje sie ze
    globalne sa a lokalne sobie zamienia
    na np $accjifia )

    podsumwujac jesli ktos mialby to
    przegladac to lepiej wygenerowac
    z nazwami ;)

strony : 1 ... 3 . [ 4 ] . 5 ... 10 ... 11


Szukaj w grupach

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: