2010-11-07 10 views
16

Implementacja GNU biblioteki C++ obsługuje tryb równoległy, wyjaśniony here.libstdC++ tryb równoległy: Kto go używa? Czy to jest bezpieczne? Wszelkie podobne projekty?

  • Jakiekolwiek doświadczenia z jej użyciem? Dobre? Złe? Zwłaszcza jeśli chodzi o poprawność, ale także wydajność.
  • Czy używają go jakieś "mniej lub bardziej poważne" projekty?
  • Czy używasz go z globalnym przełącznikiem równoległym -D_GLIBCXX_PARALLEL lub czy używasz go ostrożnie z ręcznie włączonymi specyficznymi funkcjami równoległymi, takimi jak: __gnu_parallel::sort(v.begin(), v.end());?
  • Czy są jakieś podobne projekty open source? Znaczenie: łatwiejsza równoległość niż użycie OpenMP.

Dzięki za twoje doświadczenia.

Sascha

+1

Myślę, że możesz uzyskać swoje odpowiedzi, jeśli zapytasz o listę mailingową [email protected], zobacz http://gcc.gnu.org/lists.html –

Odpowiedz

3

Zbyt późna odpowiedź, ale:

poważnie rozważyłbym Intel TBB. Jedną z rzeczy, które zauważyłem, brakuje w standardowym trybie równoległym C++ są kontenery równoległe. Kontenery TBB nie podążają za interfejsem standardowych kontenerów C++, ale dostarczają do tego justifications. Poza tym TBB ma wiele przykładów i wzorców projektowych.

+0

TBB i tryb równoległy gnu to zbyt różne rzeczy. Podczas gdy otrzymujesz (prawie)> 100 funkcji STL napisanych równolegle za darmo, nie dostaniesz go w TBB, ale potrzebujesz kodu samemu (tylko oczywiste funkcje, takie jak std :: sort). Jeśli wiesz, jak korzystać z funkcji STL, to naprawdę dobrze jest zrównoleglać. Z drugiej strony dostajesz kilka równoległych kontenerów w TBB. – eci

Powiązane problemy