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 loop
pragmaiç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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin