E. OpenMP C/C++’daki uygulama tanımlı davranışlar
Bu ek, bu API'de "uygulama tanımlı" olarak tanımlanan davranışları özetler. Her davranış, ana belirtimdeki açıklamasına çapraz başvuruda bulunur.
Açıklamalar
Bu gibi durumlarda davranışını tanımlamak ve belge uygulamak için bir uygulama gereklidir, ancak bu liste eksik olabilir.
İş parçacığı sayısı: İş parçacığı sayısının dinamik olarak ayarlanması devre dışı bırakılırken paralel bölgeyle karşılaşılırsa ve paralel bölge için istenen iş parçacığı sayısı, çalışma zamanı sisteminin sağlayabileceğiniz sayıdan fazlaysa, programın davranışı uygulama tanımlıdır (bkz. sayfa 9).
Visual C++'da iç içe olmayan paralel bölge için 64 iş parçacığı (en fazla) sağlanır.
İşlemci sayısı: herhangi bir zamanda iş parçacıklarını barındıran fiziksel işlemcilerin sayısı uygulama tanımlıdır (bkz. sayfa 10).
Visual C++'da bu sayı sabit değildir ve işletim sistemi tarafından denetlenür.
İş parçacığı ekipleri oluşturma: Ekipteki iç içe paralel bölgeyi yürüten iş parçacıklarının sayısı uygulama tanımlıdır (bkz. sayfa 10).
Visual C++'da bu sayı işletim sistemi tarafından belirlenir.
schedule(runtime): Zamanlamayla ilgili karar çalışma zamanına kadar ertelenmiş olur. Zamanlama türü ve öbek boyutu, ortam değişkeni ayarlanarak
OMP_SCHEDULE
çalışma zamanında seçilebilir. Bu ortam değişkeni ayarlanmamışsa, sonuçta elde edilen zamanlama uygulama tanımlıdır (bkz. sayfa 13).Visual C++'da zamanlama türü
static
öbek boyutu yok.Varsayılan zamanlama: Schedule yan tümcesi olmadığında, varsayılan zamanlama uygulama tanımlıdır (bkz. sayfa 13).
Visual C++'da varsayılan zamanlama türü öbek boyutu olmadan yapılır
static
.ATOMIC: Bir uygulamanın tüm
atomic
yönergeleri aynı benzersiz ada sahip yönergelerlecritical
değiştirip değiştirmediği uygulama tanımlıdır (bkz. sayfa 20).Visual C++'da, atomik tarafından değiştirilen veriler doğal bir hizalamada değilse veya bir veya iki bayt uzunluğundaysa, bu özelliği karşılayan tüm atomik işlemler tek bir kritik bölüm kullanır. Aksi takdirde kritik bölümler kullanılmaz.
omp_get_num_threads: İş parçacığı sayısı kullanıcı tarafından açıkça ayarlanmamışsa varsayılan değer uygulama tanımlıdır (bkz. sayfa 9).
Visual C++'da, varsayılan iş parçacığı sayısı işlemci sayısına eşittir.
omp_set_dynamic: Dinamik iş parçacığı ayarlaması için varsayılan ayar uygulama tanımlıdır.
Visual C++'da varsayılan değerdir
FALSE
.omp_set_nested: İç içe paralellik etkinleştirildiğinde, iç içe paralel bölgeleri yürütmek için kullanılan iş parçacığı sayısı uygulama tanımlıdır.
Visual C++'da iş parçacığı sayısı işletim sistemi tarafından belirlenir.
OMP_SCHEDULE ortam değişkeni: Bu ortam değişkeni için varsayılan değer uygulama tanımlıdır.
Visual C++'da zamanlama türü
static
öbek boyutu yok.ortam değişkeni OMP_NUM_THREADS: Ortam değişkeni için
OMP_NUM_THREADS
değer belirtilmemişse veya belirtilen değer pozitif bir tamsayı değilse veya değer sistemin destekleyebileceğiniz iş parçacığı sayısı üst sınırından büyükse, kullanılacak iş parçacığı sayısı uygulama tanımlıdır.Visual C++'da, belirtilen değer sıfır veya daha azsa, iş parçacığı sayısı işlemci sayısına eşittir. Değer 64'ten büyükse, iş parçacığı sayısı 64'tür.
OMP_DYNAMIC ortam değişkeni: Varsayılan değer uygulama tanımlıdır.
Visual C++'da varsayılan değerdir
FALSE
.
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