-
Data: 2012-03-11 07:54:43
Temat: Re: OpenMP - pewnie, że szybciej (aka "zagadka" rozwiązana)
Od: Karol Y <k...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> 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
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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?
Najnowsze wątki
- 2025-03-22 OT Silnik sie przegrzewa
- 2025-03-22 Przenoszenie przez wifi na nowego Androida
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-22 Warszawa => Spedytor Międzynarodowy <=
- 2025-03-22 Warszawa => NMS System Administrator <=
- 2025-03-22 Warszawa => Analityk IT (projekty z obszaru telco) <=
- 2025-03-22 Orzeczenie TSUE
- 2025-03-22 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-03-22 Warszawa => Scrum Master <=
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Warszawa => BI Developer / Analityk BI <=
- 2025-03-22 Warszawa => IT Recruiter <=
- 2025-03-21 Zakaz wjazdu
- 2025-03-21 Nie zawsze wchodzi jedynka