Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Azt szabályozza, hogy az automatikus párhuzamosító hogyan tekinti a hurokkódot, vagy kizárja a hurkot az automatikus vektorizáló által figyelembe vett szempontokból.
Szintaxis
#pragma loop( hint_parallel(n) )
#pragma loop( no_vector )
#pragma loop( ivdep )
Paraméterek
hint_parallel(
n)
Egy tipp a fordítónak, hogy ezt a hurkot n szálak között kell párhuzamosnak lennie, ahol n pozitív egész szám konstans vagy nulla. Ha n nulla, a rendszer futásidőben használja a szálak maximális számát. Ez egy tipp a fordítónak, nem parancsnak. Nincs garancia arra, hogy a hurok párhuzamos lesz. Ha a hurok adatfüggőségekkel vagy strukturális problémákkal rendelkezik, akkor nem lesz párhuzamos. Például nem párhuzamos, ha egy olyan skalárba van tárolva, amelyet a hurok törzsén kívül használnak.
A fordító figyelmen kívül hagyja ezt a beállítást, hacsak nincs megadva a /Qpar fordítókapcsoló.
no_vector
Alapértelmezés szerint az automatikus vektorizáló megpróbálja vektorizálni az összes kiértékelt hurkot, ami előnyös lehet. Adja meg ezt a pragma a következő ciklus automatikus vektorizálójának letiltásához.
ivdep
Egy tipp a fordítónak, amely figyelmen kívül hagyja a ciklus vektorfüggőségeit.
Megjegyzések
A looppragmahasználatához helyezze közvetlenül a hurokdefiníció elé, nem pedig a hurokdefinícióba. A pragma az azt követő ciklus hatókörére érvényes. Egy ciklusra több pragma direktívát is alkalmazhat, de mindegyiket külön pragma utasításban kell megadnia.
Lásd még:
Automatikus párhuzamosítás és automatikus vektorizálás
Pragma irányelvei, valamint a __pragma és _Pragma kulcsszavak