Aracılığıyla paylaş


loop pragma

Döngü kodunun otomatik paralelleştirici tarafından nasıl değerlendirileceklerini denetler veya bir döngünün otomatik vektörleştirici tarafından dikkate alınmasının dışında tutulur.

Sözdizimi

#pragma loop( hint_parallel(n) )
#pragma loop( no_vector )
#pragma loop( ivdep )

Parametreler

hint_parallel(n)
Derleyiciye, bu döngünün n iş parçacıkları arasında paralelleştirilmesi gerektiğine dair bir ipucu; burada n pozitif bir tamsayı değişmez değeri veya sıfırdır. n sıfırsa, çalışma zamanında en fazla iş parçacığı sayısı kullanılır. Bu, derleyiciye bir ipucu, komut değil. Döngünün paralelleştirileceğinin garantisi yoktur. Döngüde veri bağımlılıkları veya yapısal sorunlar varsa, paralelleştirilmeyecektir. Örneğin, döngü gövdesinin ötesinde kullanılan bir skaler depolanırsa paralelleştirilmemiştir.

Derleyici anahtarı belirtilmediği sürece /Qpar derleyici bu seçeneği yoksayar.

no_vector
Varsayılan olarak, otomatik vektörleştiricisi değerlendirdiği tüm döngüleri vektörleştirmeyi dener ve bundan yararlanabilir. Aşağıdaki döngü için otomatik vektörleştiriciyi devre dışı bırakmak için bunu pragma belirtin.

ivdep
Bu döngü için vektör bağımlılıklarını yoksaymak için derleyiciye bir ipucu.

Açıklamalar

kullanmak looppragmaiçin, döngü tanımının içinde değil, hemen önüne yerleştirin. , pragma onu izleyen döngünün kapsamı için geçerlilik kazanır. Döngüye herhangi bir sırayla birden çok pragma yönerge uygulayabilirsiniz, ancak her birini ayrı pragma bir deyimde belirtmeniz gerekir.

Ayrıca bkz.

Otomatik paralelleştirme ve otomatik vektörleştirme
Pragma yönergeleri ve __pragma ve _Pragma anahtar sözcükleri