-
Data: 2012-03-03 12:49:11
Temat: Re: OpenMP - jest szybciej czy wolniej?
Od: "slawek" <s...@h...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Roman W" <b...@g...pl> napisał w wiadomości grup
dyskusyjnych:17879294.84.1330773260414.JavaMail.geo-
discussion-forums@vbbfy7...
> On Saturday, March 3, 2012 10:13:08 AM UTC, slawek wrote:
>> 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
>>
>> tymczasem narzut na utworzenie wątków jest paskudnie duży i opłaca się
>
> To, skoro masz do zrownoleglenia prosta petle, olej Open MP i tworz watki
> samemu? W C++ moglbys uzyc np. boost::threads. Latwe w uzyciu i tanie.
Więc właśnie dojrzałem do olania.
Mam dużo rachowania na liczbach zespolonych, ma to działać pod
Uniksem/Linuksem/? (co tam gdzie się znajdzie), ma to w miarę możliwości
używać wielu CPU (tzn. 2048 rdzeni na ten przykład), ma być
łatwe-proste-przyjemne (jeden plik źródłowy), z bibliotek to niech używa
lapack/blas/itp. a i to może lepiej nie, bo i po co?
Wybór padł na Fortran, bo dość łatwo go znaleźć na mainframesach (zwykle są
ze 3-4 kompilatory do wyboru). Oczywiście (?) nie Fortran 77, bo nie chce mi
się liczyć do 73. A po lekturze książki Krzyżanowskiego "Obliczenia
inżynierskie i naukowe. Skuteczne, szybkie, efektowne", Wydawnictwo Naukowe
PWN, 2011, http://www.mimuw.edu.pl/~przykry/ przyszło mi do głowy, że jak
już jest gotowy (tzn. działa, ale sam problem który jest nim rozwiązywany
"ewoluuje", np. udało mi się rozwiązać niezły jego kawałek analitycznie, co
stwarza zupełnie nowe możliwości) program, to dodanie współbieżności a'la
OpenMP jest trywialne i - co najważniejsze - da się zrobić standardowo w
Fortranie. Bez niszczenia tego, co jest.
I niestety, wydaje się że cała koncepcja OpenMP jest w tej chwili po prostu
błędna. Podobne do moich problemy są dość często spotykane - program z
OpenMP działa wolniej niż bez. A skoro działa wolniej - to nie ma
najmniejszego sensu używać. Bo i po co używać czegoś, co wymaga dodatkowej
roboty i od programisty, i od komputera - a nic w zamian nie daje?!
I jeszcze jedno - OpenMP z GCC 4.6 obciąża rdzenie 20% do 30%. OpenMP jakie
daje Microsoft (w MS Visual Studio Professional 2010) jest znacznie
wydajniejsze: obciążenie idzie do 100% na każdym rdzeniu. Ale i tak program
z OpenMP osiągnął wydajność... 50% wydajności programu bez OpenMP. I
dlatego - jeżeli nie będzie postępu - OpenMP jest chybione.
To już wolę PBS i uruchomić endziesiąt instancji mojego programu - każda z
innym zestawem danych. Też jest równolegle, a nawet prościej - nie trzeba
nic w programie zmieniać.
A jak będę się nudził, to raczej spróbować na GPU/CUDA niż drążyć OpenMP.
Zwłaszcza iż OpenMP nie wiadomo jak obsługuje I/O i takie tam.
Następne wpisy z tego wątku
- 03.03.12 12:57 slawek
- 03.03.12 13:12
- 03.03.12 13:32 slawek
- 03.03.12 14:39
- 03.03.12 15:08 slawek
- 03.03.12 15:44 Edek Pienkowski
- 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
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-07 Re: Taniocha!!!
- 2024-10-07 Warszawa => Technical Leader (Java Background) <=
- 2024-10-07 Zielona Góra => Power Electronics R&D Engineer <=
- 2024-10-07 Warszawa => Junior New Business Development Manager <=
- 2024-10-07 Warszawa => Key Account Manager <=
- 2024-10-07 Wrocław => Konsultant wdrożeniowy ERP (Symfonia) <=
- 2024-10-07 policja szuka
- 2024-10-07 Nowy akt zasadniczy
- 2024-10-07 KIA nas dyma
- 2024-10-07 Warszawa => QA Inżynier <=
- 2024-10-07 Warszawa => Sales Development Representative (z j. niemieckim) <=
- 2024-10-06 miles per gallon
- 2024-10-06 Strefa czystego powietrza
- 2024-10-06 Prawdziwy ekologiczny samochód
- 2024-10-05 Stało się...