Aracılığıyla paylaş


3.1.7 omp_set_dynamic işlevi

Omp_set_dynamic işlevini etkinleştirir veya paralel bölgelerde yürütülmesi için kullanılabilir iş parçacığı sayısını dinamik düzeltilmesi devre dışı bırakır.Biçimi aşağıdaki gibidir:

#include <omp.h>
void omp_set_dynamic(int dynamic_threads);

Dynamic_threads değerlendirir sıfır olmayan bir değere sonraki paralel bölgeler yürütmek için kullanılan iş parçacığı sayısını otomatik olarak sistem kaynakları en iyi şekilde kullanmak için çalışma zamanı ortamı tarafından ayarlanması gerekebilir.Sonuç olarak kullanıcı tarafından belirtilen iş parçacığı sayısı en fazla iş parçacığı sayısıdır.Ekip paralel bir bölge yürütme iş parçacığı sayısı paralel o bölgenin süresince sabit kalır ve tarafından bildirilen omp_get_num_threads işlevi.

Dynamic_threads değerlendirir 0, dinamik ayar devre dışı bırakılır.

Bu işlev bir kısmını program çağrıldığında yukarıda açıklanan etkileri olduğunu burada omp_in_parallel fonksiyon sıfır döndürür.Bir kısmını program verilir, burada omp_in_parallel sıfır dışında bir değere işlevini verir, bu işlevin davranışı tanımsızdır.

Çağrı omp_set_dynamic üzerinde önceliği vardır OMP_DYNAMIC ortam değişkeni.

İş parçacıklarının dinamik düzeltilmesi için varsayılan uygulama tanımlı.Sonuç olarak, belirli doğru yürütme iş parçacığı sayısına bağlı olan kullanıcı kodları dinamik iş parçacığı açıkça devre.Uygulamaları dinamik olarak iş parçacığı sayısını ayarlama yeteneğini sağlamak için gerekli değildir, ancak tüm platformlarda taşınabilirlik desteklemek için arabirimi sunabilmek için gerekli.

Çapraz referanslar:

  • omp_get_num_threads çalışması için bkz: Bölüm 3.1.2 sayfasında 37.

  • OMP_DYNAMIC ortam değişkeni, bkz: Bölüm 4.3 sayfasında 49.

  • omp_in_parallel çalışması için bkz: Bölüm 3.1.6 sayfasında 38.