Skąd bezpiecznie pobrać pthreadGC2.dll pod winde? Wszędzie krzyczą że
ten pliki to jakiś trojan :)
W sumie dziwne że nie dołączyli go do kompilatora... i trzeba ściągać
dodatkowo.
Pozdrawiam
Jak rozumiem, chodzi Ci o uzycie OpenMP z GCC/MinGW pod Windows; w tym
przypadku mozesz sciagnac:
http://sourceware.org/pthreads-win32/
Instalacja jest prosta, wystarczy pokopiowac pliki w rozsadne foldery, w
razie potrzeby zerknij na ponizsze (w szczegolnosci sekcja 1.2.2 w
pierwszym pliku):
http://www.ipd.uni-karlsruhe.de/multicore/research/download/HowToGuide-POSIX.pdf
http://www.ipd.uni-karlsruhe.de/multicore/research/download/HowToGuide-OpenMP.pdf
Ew. mozesz tez skorzystac z http://www.tdragon.net/recentgcc/ -- nie
probowalem.
Tak swoja droga, OpenMP dziala tez z Visual C++ (niestety tylko OpenMP
2.0); wbudowane od wersji Pro. wzwyz -- w przypadku darmowej wersji
Express trzeba jeszcze dociagnac darmowe Windows SDK oraz darmowe MS
Visual C++ Redistributable Package, szczegoly tutaj:
http://kenny-tm.xanga.com/651048063/parallel-programming-using-openmp-with-visual-c-2008-express/
Sam jednak tez czesto korzystam z MinGW, implementacja przestarzalej
specyfikacji w przypadku Visual C++ bywa irytujaca...
Pozdrawiam,
Matt Dz.
Dziękuję za odpowiedź.
Ściągnąłem z tej strony cały katalog include i lib.
ftp://sourceware.org/pub/pthreads-win32/prebuilt-dll-2-8-0-release/
Poczytałem trochę o OpenMP i nie wiem co zrobić.. chyba po
prostu użyję pthread.
Najbardziej naturalne i najprostsze wydaje mi się używanie
fork, ale tego pod windows jeszcze nie widziałem.
Pozdrawiam
Witam,
Wszystko masz wyjasnione w PDF-ach ktore wspomnialem -- zerknij jeszcze raz:
http://www.ipd.uni-karlsruhe.de/multicore/research/download/HowToGuide-POSIX.pdf
http://www.ipd.uni-karlsruhe.de/multicore/research/download/HowToGuide-OpenMP.pdf
To sie naprawde prosto instaluje :-)
Jesli juz masz zainstalowane pthreads to nie powinno byc zadnych
problemow -- w moim przypadku dodaje po prostu opcje -fopenmp podczas
kompilacji i dziala :-)
Jesli napotkales na jakies konkretne problemy, to daj znac.
W razie czego zawsze mozesz uzyc tez Boost.Thread, ale to jest jednak
na "nizszym poziomie" niz OpenMP -- a raczej jest to raczej task
parallelism (odrebne procesy, elementy GUI, operacje na plikach, etc.)
niz data parallelism (for loops, etc...)
Pozdrawiam,
Matt P. Dz.