Aplikacje wielowątkowe, wieloprocesowe

0

Witam,
Chciałbym napisać aplikacje, która będzie dość optymalnie wykorzystywała procesory <ort>kilku rdzeniowe</ort>.
Sam podział na wątki/procesy nie gwarantuje że będą one rozdzielone na różne rdzenie.
Możecie mi podać jak tego dokonać - jakie języki programowania , jakie metody (interesuje mnie zarówna system windows jak i linux/unix).
Możecie polecić jakąś literature?

0

Poszperaj tutaj:

http://software.intel.com/en-us/articles/getting-started-with-parallel-programming-for-multi-core
http://software.intel.com/en-us/forums/

Jeżeli znasz sie na programowaniu wielowątkowym, to tam masz kilka wskazówek związanych z wykorzystaniem wielu rdzeni

0

Dla Windows:
SetProcessAffinityMask, SetThreadAffinityMask - przydzielisz nimi proces/wątek na konkretne procesory logiczne.
Numery dostępnych procesorów odczytasz funkcją GetProcessAffinityMask.

0

a coś pod linuxa?

0

pod linuxem dzisiaj w "linux magazine" czytalem jest biblioteka OpenMP do wielordzeniowych prockow. Rzeczywiscie jest tam prosty podzial zadan :D

0

OpenMP jest również dla Win. Visual C++ ładnie go wspiera (http://msdn.microsoft.com/en-us/library/tt15eb9t.aspx).

0
adf88 napisał(a)

OpenMP jest również dla Win. Visual C++ ładnie go wspiera (http://msdn.microsoft.com/en-us/library/tt15eb9t.aspx).

niestety express - przynajmniej w wersji 2005 nie wspiera :-( tj. nie ma dll w instalacji, a dociągniecie ich z wersji standard/pro pewnie inelegalne.

0

W takim razie możesz ręcznie obsługiwać wątki. Jest to bardziej pracochłonne niż użycie dyrektyw OpenMP. Windows powinien umożliwić korzystanie z pthread (czyli sposób ktory poleciła osoba dając link do wątków w linux).

Pozdrawiam
skalniak

0

Jest jeszcze MPI i pewnie wiele innych.

0

jeszcze cos takiego jak POSIX jest...

0
Johny_Morfina napisał(a)

jeszcze cos takiego jak POSIX jest...

Czyli pthread (wcześniej proponowane) ( pthreads jest ze standardu POSIX).

Pozdrawiam
skalniak

1 użytkowników online, w tym zalogowanych: 0, gości: 1