Módosítások

Intel Xeon Phi

652 bájt hozzáadva, 2016. május 5., 10:58
Automatikus ciklusösszevonás
====Ciklus kifejtés====
====Automatikus ciklusösszevonás====
Az OpenMP támogatást nyújt több egymásba ágyazott ciklus "összevonására". Ehhez csak a '''collaps''' fordítási direktívát és az összevonandó ciklusok számát kell megadni. <br />
FONTOS: ekkor az automatikus vektorizáció kikapcsolásra kerül!
 
<pre>
#pragma omp parallel for collaps(2)
for (int i=0; i<n; i++)
for( int j=0; j<m; j++){...}
</pre>
 
A fneti példában a 2db for ciklis kerül párhuzamosításra úgy, hogy a fordítás során 1db ciklus generálódik belőle, ami a következő paraméterezéssel ekvivalens:
<pre>
#pragma omp parallel for
for (int c=0; c < n*m; c++) {
int i = c/n;
int j = c%n;
...
}
</pre>
98
szerkesztés

Navigációs menü