-
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
Następne wpisy z tego wątku
- 03.03.12 21:29
- 03.03.12 21:33 M.M.
- 03.03.12 23:13 slawek
- 04.03.12 05:46 M.M.
- 04.03.12 10:29 Roman W
- 04.03.12 11:13
- 05.03.12 11:02 Roman W
- 05.03.12 15:14 M.M.
- 05.03.12 18:33 slawek
- 05.03.12 18:42 fir kenobi
- 05.03.12 18:48 slawek
- 05.03.12 18:58 slawek
- 06.03.12 02:27 Michoo
- 06.03.12 06:04 Karol Y
- 06.03.12 09:43 slawek
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-27 Chiński elektrolizer tester wody
- 2024-12-27 Rzeszów => System Architect (background deweloperski w Java) <=
- 2024-12-27 Kraków => Application Security Engineer <=
- 2024-12-27 Gorzów Wielkopolski => Konsultant wdrożeniowy Comarch XL/Optima (Ksi
- 2024-12-27 Wrocław => Solution Architect (Java background) <=
- 2024-12-27 kladka Zagorze
- 2024-12-27 Poznań => Key Account Manager (ERP) <=
- 2024-12-27 Gdańsk => Full Stack .Net Engineer <=
- 2024-12-27 Katowice => Programista Full Stack .Net <=
- 2024-12-27 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-27 Gdańsk => Delphi Programmer <=
- 2024-12-27 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-27 zasniecie
- 2024-12-27 Kraków => Key Account Manager <=
- 2024-12-26 zapora Zagorze