eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingOpenMP - jest szybciej czy wolniej?Re: OpenMP - jest szybciej czy wolniej?
  • Data: 2012-03-03 16:29:04
    Temat: Re: OpenMP - jest szybciej czy wolniej?
    Od: Edek Pienkowski <e...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia Sat, 03 Mar 2012 17:12:22 +0100, slawek napisal:

    > Użytkownik "Edek Pienkowski" <e...@g...com> napisał w
    > wiadomości grup dyskusyjnych:jite8a$dvn$1...@i...gazeta.pl...
    >> OpenMP pozwala robić przede wszystkim coarse-grained, fine-grained może
    >> i też, ale twoje pętla jest "mikro". Zrób zewnętrzną/wewnętrzną.
    >
    > Nie taka mikro ;)

    Chodzi mi o jedną iterację.

    >
    > Nie da się - ta pętla to jedyny etap na którym coś sensownie (tj.
    > bezmyślnie) można zrównoleglić.
    >
    > Było rzędu 1000
    >
    > Dałem docelowe N, czyli 10 000, i nagle... surprise, surprise
    >
    > (a nic innego nie zmieniałem!)
    [...]

    To jednak udawadnia twoją tezę, że to trochę chimeryczne stworzenie.

    Dla mojej ciekawości: zrobiłbyś test N=1000 (zgubiłem się już, które to
    N) i zrobił pętlę tak:
    for i = 0 ; i += 1000 ; i < n
    for private(j) = i; j < 1000 + i && j < n; j++)

    (sam bym zrobił, ale chwilowo mi się system instaluje)

    >
    >> GPU działa inaczej. Taka pętla będzie "memory-bound", za mało liczenia.
    >> W przypadku GPU mówi się o przepustowości, i generalnie przepustowość
    >> obliczeniowa karty jest rzędu 8-10 x większa niż przepustowość
    >
    > Nie o to chodzi - po prostu dziwiłem się kiedyś, po co Intel dał GPU do
    > CPU zamiast zrobić coś innego. Tłumaczył się wtedy (inż. z Intela), że
    > mieli pusto na krzemie, bo obwód wafelka jest ograniczony prądowo przez
    > I/O, więc przy malejącej szerokości ścieżki zostały puste placki, więc
    > wsadzili tam coś, czyli GPU. Bardziej jednak prawdopodobne, że te GPU
    > tam już teraz jest... aby kiedyś używać podobnie jak to robi CUDA.

    Ciekawe story, ten ring danych to pewnie dlatego, że jej się LOTR
    przyśnił? Pierścienie na wafelku?

    Wiem, że iX mają GPU, ale to inne GPU niż Nvidii. Na nowych AMD,
    Intelach może też, już GPU daje jakąś pomoc dla CPU w zwykłym kodzie
    CPU, przynajmniej tomshardware tak twierdzi. Jak dla mnie to
    chwilowo jest skomplikowane, a że "w domu" i "w pracy" mam
    starszy sprzęt (pomijając może mainframe) to nie mam z tym do czynienia.

    >
    >> Ta, schedulera. W przypadku dwóch wątków na dwucorowym procku scheduler
    >> nie ma nic do gadania.
    >
    > Niezupełnie - oddychają Windowsy, piszę newsy, coś się dzieje...

    Ok, ruszysz myszką: przerwanie, I/O, kursor, itd. Podejrzewasz,
    że jakikolwiek scheduler robi potem msleep(100)?

    Jedyne o czym wiem, to Windows preferuje okienka z focusem. Chcesz
    mieć szybciej działającą aplikację: zrób puste okienko. Albo zmień
    ustwienia wydajności na "aplikacje w tle", serwerowe to się cyhba nazywa.

    >
    >> OpenMP jest fajny, RTFM. Trolujesz, czy serio narzekasz?
    >
    > Na serio narzekam. Powinno być tak prosto jak się da. A jest... no
    > dobrze, jeszcze tylko dlaczego OpenMP nie chce działać pod GCC 4.7 ?!
    > Tzn. coś mu się nie podoba "stara" glibc. Ok. Ale czy ja mam chęć
    > walczyć z glibc - na każdym systemie na jaki przypadkiem trafię?! Nie
    > mam!

    Do pełni szczęścia dodaj -std=c++0x i miłego debugowania, ech.

    >
    >> Bo spieprzyłeś. Gcc wektoryzuje pętle. Jak masz task z 1 iteracją może
    >> mieć problem (też bym liczył na to, że sobie poradzi, ale nie wszystkie
    >> optymalizacje zawsze działają). Zresztą:
    >
    > Przełom jest przy około 50 tysiącach iteracji.
    >
    > Nagle wszystko robi się płynne, obciążenie CPU leci do 100%, oba wątki
    > się dogadują - normalnie cud mniemany.

    Na Thrust możesz zerknąć i tak, samo się na GPU przeniesie.

    Edek

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: