-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Edek Pienkowski <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: OpenMP - jest szybciej czy wolniej?
Date: Sat, 3 Mar 2012 15:44:10 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 87
Message-ID: <jite8a$dvn$17@inews.gazeta.pl>
References: <4f4feb4d$0$1271$65785112@news.neostrada.pl>
<jip3ao$9u9$1@node2.news.atman.pl>
<4f501330$0$26703$65785112@news.neostrada.pl>
<jip477$asl$1@node2.news.atman.pl>
<4f50b4a4$0$26698$65785112@news.neostrada.pl>
<jiqdm3$dvn$5@inews.gazeta.pl>
<4f50bea4$0$1268$65785112@news.neostrada.pl>
<jiqfeg$dvn$6@inews.gazeta.pl>
<4f50c486$0$26685$65785112@news.neostrada.pl>
<jiqhqe$dvn$9@inews.gazeta.pl> <jiqi0e$dvn$10@inews.gazeta.pl>
<4f50ddac$0$1279$65785112@news.neostrada.pl>
<jiqqlu$dvn$13@inews.gazeta.pl>
<4f50f4d2$0$26694$65785112@news.neostrada.pl>
<jiqt59$dvn$15@inews.gazeta.pl>
<4f50fa41$0$26701$65785112@news.neostrada.pl>
<jisdma$441$1@inews.gazeta.pl>
<4f51eeb2$0$1213$65785112@news.neostrada.pl>
NNTP-Posting-Host: 87.204.176.18
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1330789450 14327 87.204.176.18 (3 Mar 2012 15:44:10 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 3 Mar 2012 15:44:10 +0000 (UTC)
X-User: pieniekusenet
User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b
master)
Xref: news-archive.icm.edu.pl pl.comp.programming:195945
[ ukryj nagłówki ]Dnia Sat, 03 Mar 2012 11:13:08 +0100, slawek napisal:
> Użytkownik <f...@N...gazeta.pl> napisał w wiadomości grup
> dyskusyjnych:jisdma$441$...@i...gazeta.pl...
>> mz wiadomo a przynajmniej bezpieczniej jest zakladac ze koszt
>> owatkowienia moze byc spory, mi nie podoba sie watkowa rozrzutnosc,
>
> Właśnie w tym cały wic:
>
> 1. OpenMP "podręcznikowo" stosuje się tak:
>
> !$omp parallel do do i = 1,N
> ! ... robota do wykonania
> end do !$omp end parallel do
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ą.
>
> Mimo tej sztuczki - program nadal jest 2x _wolniejszy_ niż
> jednowątkowy
> (był nawet 35 razy wolniejszy). A powinien być 2x szybszy. Dziwne.
No i będzie 2x szybszy. OpenMP nie zwalnia od myślenia. Chcesz coś
prostszego: Thrust. Ma backend openMP, ma backend CUDA, używa
się tak prosto, jak stl::transform, z Fortrana chyba też się da.
Jak przy pomocy Thrust uda ci się spieprzyć, chylę czoła ;)
>
> 3. Myślę, że takie coś będzie szło od strony GPU - Intel "wsadził" GPU
> do CPU - więc pewnie da się - tam powinno być około 1000 rdzeni... to
> zupełnie nowy horyzont.
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ść
pamięci, do tego z pamięci trzeba odczytać i jeszcze zapisać wynik.
Fakt, że GPU mają lepszą przepustowość pamięci niż procek, ale znowu:
wszystko memory-bound musi mieć odpowiednie dostępy do pamięci, albo
będzie strasznie wolne. Zobacz Thrust, oni zrobili to dobrze, sam z takim
podejściem spieprzysz koncertowo i będzie jeszcze wolniejsze.
Nie wiem, co Intel (i AMD) zrobią naprawdę mieszając CPU i GPU. Widziałem
te architektury, ale nie powiem, żebym znał ich właściwości. Nie liczyłbym
też na to, że 1000 rdzeni: rdzenie GPU są inne i nie są niezależne;
no i rdzenie Intela to nie rdzenie Nvidii czy ATI. Ale mix może być fajny.
>
>> - tak naprawde zeby zobaczyc co sie dzieje trzebeby zobaczyc i umiec
>> zrozumiec kod schedulera i okolic w kernelu - warto by to bylo po
>> prostu obejrzec (zob watek jadro jadra)
Ta, schedulera. W przypadku dwóch wątków na dwucorowym procku scheduler
nie ma nic do gadania.
>
> 4. Znowu przypomnę - OpenMP miał być sposobem na
> "łatwo-prosto-i-przyjemnie". Jak mam wgłębiać się w kod kernela - to
> trudno mówić, że jest prosto.
>
> 5. Czyli podsumowując - cały ten OpenMP jest mocno do niczego -
> wydajność SPADA - a w dodatku trzeba mocno uważać, aby zrobić działający
> program.
OpenMP jest fajny, RTFM. Trolujesz, czy serio narzekasz?
>
> 6. Punkt 5. odnosi się do "przeciętnego PC mającego 1 procesor z
> niewieloma rdzeniami". Być może gdyby tych rdzeni było więcej... ale,
> ale, na 16 też było kiepsko.
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ą:
weź Thrust. Jest zrobiony właśnie dla ludzi, którzy nie kumają co to GPU,
co to OpenMP i chcą coś szybko policzyć. Przepisanie twojej pętli to
5 minut, używa się tego bardzo prosto. Gratis będzie działało na GPU,
ale nie oczekiwałbym wielkich zysków jeżeli nie masz takiego "nowego
procka CPU/GPU, który by jeszcze wspierał CC 2.0", bo na GPU trzeba
dane dodatkowo przekopiować i przekopiować wyniki, do tego pewne latency
wykonania dochodzi (rzędu 1ms).
Edek
Następne wpisy z tego wątku
- 03.03.12 15:49 Edek Pienkowski
- 03.03.12 15:53
- 03.03.12 16:12 slawek
- 03.03.12 16:29 Edek Pienkowski
- 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
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 ROG
- 2025-07-03 OZE dały Polsce więcej prądu niż elektrownie węglowe
- 2025-07-03 Dlaczego nikt nie powiadamia służb!
- 2025-07-02 Jaka ładowarka sieciowa do Iphona?
- 2025-07-02 ,,The Plot to Get RFK" (,,Spisek, by pozbyć się RFK")
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Rozkaz 16-2025: 2025-06-19 Apelacja Do Wyroku Sądu Rej. w Sprawie IVRNs 295-23
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Inżynierowie... inżynierzy...
- 2025-07-02 Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 2025-07-02 Kto potrafi sprawdzić aku BMW 48V 10Ah Li-Ion do mini hybrydy, czy sprawny ?
- 2025-07-02 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-02 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-02 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-07-02 Warszawa => Inżynier oprogramowania .Net <=