eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › OpenMP - jest szybciej czy wolniej?
Ilość wypowiedzi w tym wątku: 81

  • 71. Data: 2012-03-06 12:52:55
    Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
    Od: Michoo <m...@v...pl>

    On 06.03.2012 10:43, slawek wrote:
    >
    > Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości grup
    > dyskusyjnych:jj3soa$jrf$...@m...internetia.pl...
    >> ./a.out 1,97s user 0,00s system 389% cpu 0,507 total
    >>
    >> I mamy wykonanie 40% szybciej na 2 rdzeniach z HT (z narzutem na
    >> zrównoleglenie 180%).
    >>
    >> Magia polega na dwóch zmianach:
    >
    > Przypadkiem zauważyłeś, że MSVC to Windows - natomiast ty uruchamiasz i
    > testujesz pod Linuksem?
    >
    > Połowa (większa) problemu to narzuty "wewnętrzne" - widać po twoim
    > teście jedynie to, że Linuks sprawdza się lepiej (czyli jak trzeba).
    >
    >> 1. NIE wykonywaniu TEGO SAMEGO kodu wielokrotnie (naprawdę się
    >
    > do for paralell jest równoważne parze linijek parallel/do for --
    > przynajmniej to wyczytałem w opisie OpenMP
    Bo tam jest to zapisane.
    A czy wyczytałeś przy okazji coś o koszcie synchronizacji? Każdy blok
    parallel to 2 punkty synchronizacji.

    0x08048576 <+134>: call 0x8048474 <GOMP_parallel_start@plt>
    0x0804857b <+139>: mov DWORD PTR [esp],esi
    0x0804857e <+142>: call 0x8048750 <main._omp_fn.0>
    0x08048583 <+147>: call 0x8048484 <GOMP_parallel_end@plt>

    Lepiej je wykonać 200 razy niż 20000 razy. A jeszcze lepiej wykonać je
    tylko raz.

    Btw: na podstawie tu przedstawionych wniosków, stosując 2 drobne
    modyfikacje w kodzie slawka uzyskałem czas:
    $ time ./a.out
    CPU time = 1.040000
    just for fun 91.999668
    ./a.out 1,00s user 0,04s system 393% cpu 0,264 total

    >
    >> 2. sensowny przydział bloków obliczeń
    >
    > Sensowny dla MS Windows oznacza w tym przypadku kawałki liczące się
    > około milisekund. A w programie są mikrosekundowe.
    Zazwyczaj im mniej synchronizacji tym szybciej kod działa - to chyba
    oczywiste. Przydaje się też, żeby nie właziły sobie nawzajem w cache.

    --
    Pozdrawiam
    Michoo


  • 72. Data: 2012-03-06 17:43:51
    Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
    Od: "slawek" <s...@h...pl>


    Użytkownik "Roman W" <b...@g...pl> napisał w wiadomości grup
    dyskusyjnych:28251389.0.1331028057478.JavaMail.geo-d
    iscussion-forums@vbpw16...
    > No to przeciez 1ms to jest rzad wielkosci rozdzielczosci zegara
    > systemowego. Nic dziwnego, ze masz duzy narzut. Czemu sie upierasz, zeby
    > operowac na tak malych kawalkach?

    Bo każdy większy kawałek jest powiązany związkiem przyczynowo-skutkowym.
    Tzn. te "małe kawałki" nie są i dlatego można je liczyć równolegle. A te
    "większe" są już od siebie zależne - i dlatego muszą być liczone
    sekwencyjnie.


  • 73. Data: 2012-03-06 18:08:47
    Temat: Re: OpenMP - pewnie, że szybciej (aka
    Od: " " <f...@g...pl>

    slawek <s...@h...pl> napisał(a):

    >
    > Użytkownik "Roman W" <b...@g...pl> napisał w wiadomości grup
    > dyskusyjnych:28251389.0.1331028057478.JavaMail.geo-d
    iscussion-
    forums@vbpw16...
    > > No to przeciez 1ms to jest rzad wielkosci rozdzielczosci zegara
    > > systemowego. Nic dziwnego, ze masz duzy narzut. Czemu sie upierasz, zeby
    > > operowac na tak malych kawalkach?
    >
    > Bo każdy większy kawałek jest powiązany związkiem przyczynowo-skutkowym.
    > Tzn. te "małe kawałki" nie są i dlatego można je liczyć równolegle. A te
    > "większe" są już od siebie zależne - i dlatego muszą być liczone
    > sekwencyjnie.
    >

    oddzielne wątki nie są od tego by zrównoleglac hiperdrobne rzeczy
    - narobiles zamieszania nie kojarzac podstawowych faktów - (sam
    co prawda nie mam poki co doswiadczenia w praktycznym MT )
    - mysle ze zrownoleglanie na odzielnych watkach to gdzies tak od
    skali czasu pojedynczej ramki (ok 20 ms), najlepiej by bylo utrafiac
    w windowsowe slice i samemu oddawac czas do windowsowej pompy
    by uniknac wywlaszczania kawalkow





    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 74. Data: 2012-03-06 18:10:02
    Temat: Re: OpenMP - pewnie, że szybciej (aka
    Od: " " <f...@g...pl>

    slawek <s...@h...pl> napisał(a):

    >
    > Użytkownik "Roman W" <b...@g...pl> napisał w wiadomości grup
    > dyskusyjnych:28251389.0.1331028057478.JavaMail.geo-d
    iscussion-
    forums@vbpw16...
    > > No to przeciez 1ms to jest rzad wielkosci rozdzielczosci zegara
    > > systemowego. Nic dziwnego, ze masz duzy narzut. Czemu sie upierasz, zeby
    > > operowac na tak malych kawalkach?
    >
    > Bo każdy większy kawałek jest powiązany związkiem przyczynowo-skutkowym.
    > Tzn. te "małe kawałki" nie są i dlatego można je liczyć równolegle. A te
    > "większe" są już od siebie zależne - i dlatego muszą być liczone
    > sekwencyjnie.
    >

    oddzielne wątki nie są od tego by zrównoleglac hiperdrobne rzeczy
    - narobiles zamieszania nie kojarzac podstawowych faktów - (sam
    co prawda nie mam poki co doswiadczenia w praktycznym MT )
    - mysle ze zrownoleglanie na odzielnych watkach to gdzies tak od
    skali czasu pojedynczej ramki (ok 20 ms), najlepiej by bylo utrafiac
    w windowsowe slice i samemu oddawac czas do windowsowej pompy
    by uniknac wywlaszczania kawalkow





    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 75. Data: 2012-03-06 20:50:29
    Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
    Od: Roman W <b...@g...pl>

    On Tuesday, March 6, 2012 5:43:51 PM UTC, slawek wrote:
    > Użytkownik "Roman W" <b...@g...pl> napisał w wiadomości grup
    > dyskusyjnych:28251389.0.1331028057478.JavaMail.geo-d
    iscussion-forums@vbpw16...
    > > No to przeciez 1ms to jest rzad wielkosci rozdzielczosci zegara
    > > systemowego. Nic dziwnego, ze masz duzy narzut. Czemu sie upierasz, zeby
    > > operowac na tak malych kawalkach?
    >
    > Bo każdy większy kawałek jest powiązany związkiem przyczynowo-skutkowym.
    > Tzn. te "małe kawałki" nie są i dlatego można je liczyć równolegle. A te
    > "większe" są już od siebie zależne - i dlatego muszą być liczone
    > sekwencyjnie.

    To masz przechlapane, jak to mowia.

    RW


  • 76. Data: 2012-03-07 15:19:18
    Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
    Od: "slawek" <s...@h...pl>


    Użytkownik "Roman W" <b...@g...pl> napisał w wiadomości grup
    dyskusyjnych:20179800.2877.1331067029449.JavaMail.ge
    o-discussion-forums@vbze11...
    > To masz przechlapane, jak to mowia.

    Aniebo...

    ...mogę spokojnie napisać, że "zastosowanie algorytmu równoległego nie
    przyspiesza obliczeń." I zostać przy poprzednich wersjach
    (nie-równoległych).



  • 77. Data: 2012-03-08 17:58:21
    Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
    Od: Karol Y <k...@o...pl>

    >> To masz przechlapane, jak to mowia.
    >
    > Aniebo...
    >
    > ...mogę spokojnie napisać, że "zastosowanie algorytmu równoległego nie
    > przyspiesza obliczeń." I zostać przy poprzednich wersjach
    > (nie-równoległych).

    Jeżeli w Twoim słowniku są takie słowa jak "nie umiem", "nie dam rady",
    "nie potrafię"...

    --
    Mateusz Bogusz


  • 78. Data: 2012-03-10 11:25:28
    Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
    Od: "slawek" <s...@h...pl>


    Użytkownik "Karol Y" <k...@o...pl> napisał w wiadomości grup
    dyskusyjnych:jjas02$qe5$...@n...news.atman.pl...
    > Jeżeli w Twoim słowniku są takie słowa jak "nie umiem", "nie dam rady",
    > "nie potrafię"...

    Jak będziesz już trochę starszy, to w _twoim_ słowniku pojawią się takie
    zwroty jak: "nie warto, bo i tak nikt za to nie zapłaci"; "nie będziemy tego
    robić, bo przekroczylibyśmy termin"; "nie trzeba, bo to co już mamy
    wystarczy"; "nie zajmujemy się tym, bo zakończyliśmy ten projekt".

    W pewnym wieku, jak się jest młodym (i naiwnym), to wydaje się ludziom, że
    dadzą radę zrobić wszystko... i to jeszcze w tym tygodniu. Z czego to
    wynika?

    Po pierwsze, będąc leszczem nie wie się, jak głęboki jest problem. Dajmy na
    to "zainstalować system". Ok. mniej niż kwadrans... dla leszcza. A dla
    administratora w BARDZO DUŻEJ FIRMIE? Toż bez przetargu się nie obejdzie...
    a potem wdrożenie tego na wszystkich 15 tysiącach komputerów... i to jeszcze
    pamiętając że tylko 90% to desktopy. (A.L. zaraz by dopisał "15 tysięcy
    komputerów to jest raczej mała firma" ;) )

    Po drugie, czas. Będąc leszczem ma się czas. Całe życie. A potem... a potem
    ma się np. guza. I pół roku na uporządkowanie spraw. W mniej skrajnych
    przypadkach - trzeba ten czas dzielić - rodzina, praca, przyjaciele, hobby,
    teściowie, praca, usenet, sekretarka, pies, kot, zięć.

    Po trzecie, będąc leszczem robi się głupie rzeczy. Na przykład próbuje
    wyrywać panienki na to jakim się to nie jest hackerem. (To akurat przejaw
    SKRAJNEJ głupoty, bo wiadomo iż jest 1001 lepszych i skuteczniejszych,
    sprawdzonych, sposobów.) Z biegiem lat jednak człowiek mądrzeje i coraz
    trudniej go podpuścić na stary numerek "jestem Kasia i nie wiem jak napisać
    program zadany w szkole" (nota bene zawsze w takiej historyjce jest
    nauczyciel - nigdy nie nauczycielka informatyki).

    Po czwarte, im dużej się żyje - im jest się dojrzalszym - tym mniej jest
    prawdopodobne iż środek do osiągnięcia celu będzie się mylić z celem samym w
    sobie. Innymi słowy, jeżeli mam postawiony do rozwiązania problem i ten
    problem mogę rozwiązać pisząc pewien program, to mnóstwo szczegółów
    związanych z programem jest po prostu nieistotne. Nie jest ważne, czy do
    będzie program działający równolegle z OpenMP - czy obrzydliwie szeregowo
    (ale za to na PBS). Ważne jest natomiast, aby dawał rezultaty w czasie
    krótszym niż 1 tydzień na sprzęcie jaki rzeczywiście mam.

    Podsumowując: OpenMP nie jest zbyt dobre do zrównoleglania prostych obliczeń
    trwających mniej niż 1 ms per wątek. Wniosek: w danej sytuacji algorytm
    szeregowy jest lepszy niż algorytm równoległy. Oczywiście wersja szeregowa
    algorytmu równoległego jest jeszcze gorsza od obu. BTW, obejrzałem sobie
    Thurst'a i... - to niezupełnie ta bajka - jeżeli już to CUDA BLAS/LAPACK.



  • 79. Data: 2012-03-11 07:54:43
    Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
    Od: Karol Y <k...@o...pl>

    > Jak będziesz już trochę starszy, to w _twoim_ słowniku pojawią się takie
    > zwroty jak: "nie warto, bo i tak nikt za to nie zapłaci"; "nie będziemy
    > tego robić, bo przekroczylibyśmy termin"; "nie trzeba, bo to co już mamy
    > wystarczy"; "nie zajmujemy się tym, bo zakończyliśmy ten projekt".

    Jakby było tak nie warto, to byś nie drążył wątku o ponad 80 postach.

    > W pewnym wieku, jak się jest młodym (i naiwnym), to wydaje się ludziom,
    > że dadzą radę zrobić wszystko... i to jeszcze w tym tygodniu. Z czego to
    > wynika?

    Nie wiem, za stary już jestem ;-)

    > Podsumowując: OpenMP nie jest zbyt dobre do zrównoleglania prostych
    > obliczeń trwających mniej niż 1 ms per wątek. Wniosek: w danej sytuacji
    > algorytm szeregowy jest lepszy niż algorytm równoległy. Oczywiście
    > wersja szeregowa algorytmu równoległego jest jeszcze gorsza od obu. BTW,
    > obejrzałem sobie Thurst'a i... - to niezupełnie ta bajka - jeżeli już to
    > CUDA BLAS/LAPACK.

    Nic nie jest dobre do tego. Jak jedna pętla trwa mniej to należy problem
    zaadresować szerzej. Utworzenie wątku kosztuje, procesu jeszcze więcej.
    No to wymyślili pule. Ale nawet tutaj przydzielanie kodu i przerzucanie
    argumentów między kontekstami też kosztuje. Zrównolegla się możliwie
    największe kroki, które da się wykonywać jednocześnie. Jeżeli napiszesz,
    że to właśnie ta pętelka, to albo podzielić ilość kroków na ilość
    wątków* i każdemu dać swoją część albo jednak trzeba rozważyć
    zrównoleglenie np. dwóch zadań niż kroków jednego zadania - suma
    summarum wyjdzie sensowniej.

    * jeżeli właśnie to robiłeś (nie znam C i nie wiem jak deklaracje OpenMP
    są interpretowane), to najwyraźniej synchronizacja albo wchodzenie do
    ogródka sąsiada miałeś zwalone.

    --
    Mateusz Bogusz


  • 80. Data: 2012-03-12 17:44:14
    Temat: Re: OpenMP - pewnie, że szybciej (aka
    Od: " " <f...@g...pl>

    slawek <s...@h...pl> napisał(a):

    >
    > Użytkownik "Karol Y" <k...@o...pl> napisał w wiadomości grup
    > dyskusyjnych:jjas02$qe5$...@n...news.atman.pl...
    > > Jeżeli w Twoim słowniku są takie słowa jak "nie umiem", "nie dam rady",
    > > "nie potrafię"...
    >
    > Jak będziesz już trochę starszy, to w _twoim_ słowniku pojawią się takie
    > zwroty jak: "nie warto, bo i tak nikt za to nie zapłaci"; "nie będziemy
    tego
    > robić, bo przekroczylibyśmy termin"; "nie trzeba, bo to co już mamy
    > wystarczy"; "nie zajmujemy się tym, bo zakończyliśmy ten projekt".
    >
    > W pewnym wieku, jak się jest młodym (i naiwnym), to wydaje się ludziom, że
    > dadzą radę zrobić wszystko... i to jeszcze w tym tygodniu. Z czego to
    > wynika?
    >
    > Po pierwsze, będąc leszczem nie wie się, jak głęboki jest problem. Dajmy na
    > to "zainstalować system". Ok. mniej niż kwadrans... dla leszcza. A dla
    > administratora w BARDZO DUŻEJ FIRMIE? Toż bez przetargu się nie obejdzie...
    > a potem wdrożenie tego na wszystkich 15 tysiącach komputerów... i to
    jeszcze
    > pamiętając że tylko 90% to desktopy. (A.L. zaraz by dopisał "15 tysięcy
    > komputerów to jest raczej mała firma" ;) )
    >
    > Po drugie, czas. Będąc leszczem ma się czas. Całe życie. A potem... a potem
    > ma się np. guza. I pół roku na uporządkowanie spraw. W mniej skrajnych
    > przypadkach - trzeba ten czas dzielić - rodzina, praca, przyjaciele, hobby,
    > teściowie, praca, usenet, sekretarka, pies, kot, zięć.
    >
    > Po trzecie, będąc leszczem robi się głupie rzeczy. Na przykład próbuje
    > wyrywać panienki na to jakim się to nie jest hackerem. (To akurat przejaw
    > SKRAJNEJ głupoty, bo wiadomo iż jest 1001 lepszych i skuteczniejszych,
    > sprawdzonych, sposobów.) Z biegiem lat jednak człowiek mądrzeje i coraz
    > trudniej go podpuścić na stary numerek "jestem Kasia i nie wiem jak napisać
    > program zadany w szkole" (nota bene zawsze w takiej historyjce jest
    > nauczyciel - nigdy nie nauczycielka informatyki).
    >
    > Po czwarte, im dużej się żyje - im jest się dojrzalszym - tym mniej jest
    > prawdopodobne iż środek do osiągnięcia celu będzie się mylić z celem samym
    w
    > sobie. Innymi słowy, jeżeli mam postawiony do rozwiązania problem i ten
    > problem mogę rozwiązać pisząc pewien program, to mnóstwo szczegółów
    > związanych z programem jest po prostu nieistotne. Nie jest ważne, czy do
    > będzie program działający równolegle z OpenMP - czy obrzydliwie szeregowo
    > (ale za to na PBS). Ważne jest natomiast, aby dawał rezultaty w czasie
    > krótszym niż 1 tydzień na sprzęcie jaki rzeczywiście mam.
    >
    > Podsumowując: OpenMP nie jest zbyt dobre do zrównoleglania prostych
    obliczeń
    > trwających mniej niż 1 ms per wątek. Wniosek: w danej sytuacji algorytm
    > szeregowy jest lepszy niż algorytm równoległy. Oczywiście wersja szeregowa
    > algorytmu równoległego jest jeszcze gorsza od obu. BTW, obejrzałem sobie
    > Thurst'a i... - to niezupełnie ta bajka - jeżeli już to CUDA BLAS/LAPACK.
    >
    >

    podzielam humanistyczny smutek (zwiazany z dlugim czasem
    uczenia sie w programowaniu i siedzenia przed kompem) nie
    bardzo jednak rozumiem ten kawalek o dziewczynach (wyrywaniu
    dziewczyn) - sa to poniekad antagonistyczne zjawiska,

    (choc fenomenalnie sie wlasnie uzupelniaja)

    z dziewcznami (chocby traktujacymi cie jak siostry) bywa wesolo
    - sam jako kawaler (jako ze 'rrr' wystawila mnie do wiatru)
    pomieszkuje czesto na stancjach i albo jest przygnebiajaco
    i smutno albo jest wesolo (ostatnio dlugo* mialem pecha i jest tylko
    smutno - wykituje w tej programistycznej norze (rozumianej nie
    fizayczne tylko jako sposob zycia - spedzania czasu ))

    * to 'dlugo' jest naprawde smutne

    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

strony : 1 ... 7 . [ 8 ] . 9


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: