Aracılığıyla paylaş


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önergelerle critical 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.