Módosítások

Intel Xeon Phi

240 bájt hozzáadva, 2016. május 5., 14:27
Szálak szinkronizációja
====Szálak szinkronizációja====
Szála szinkronizálását többféle módon lehet megvalósítani, de ezen megoldások sajno jelentősen lelassítják a program futását.
* mutexxel: nagyon lassú, állandóan várnak egymásra a párhuzamos szálak
<pre>
* with mutexes (it is very slow, waiting always) #pragma omp parallel for for (int i = 0; i < n; i++) { #pragma omp critical { // Only one thread at a time can execute this section kritikus szekció, csak egy szál hajthatja végre total = total + i; } } </pre> * or with atomic operation (it also [very] slowatomi művelet definiálása: sajnos még ez is lassú, de itt már nem olyan "erős" a szinkronizáció, lot of limitations) ezért rendkívül sok limitációja van az itt használható atomi műveleteknek.<pre>#pragma omp parallel for for (int i = 0; i < n; i++) { // Lightweight synchronization #pragma omp atomic total += i; }
</pre>
98
szerkesztés

Navigációs menü