m4kb0l
#pytanie z #programowanie #clang #cpp #openmp
Mam bardzo prosty programik w C wykorzystujący OpenMP. Zadaje mu ilość operacji dla pętli i w tej pętli inkrementuje zmienną. Na końcu pokazuje wartość tej zmiennej. Wartość zmiennej powinna być równa ilości iteracji. I tak jest ale w przypadku gdy program jest sekwencyjny. Gdy włączę równoległość to wyniki wychodzą różne i nie dobijają do zadanej ilości operacji.
  • Najlepsze
  • Wszystkie komentarze
k.....r
k.....r
sosnnaa
@m4kb0l: Ale synchronizację to ty rób.
Albo wspomniane wyżej atomic/critical, albo masz omplockt i możesz ręcznie blokować sekcje.