SORU
17 EKİM 2011, PAZARTESİ


openMP, atom vs kritik?

OpenMP farkı arasında atom ve kritik nedir? Bunu yapabilirim

#pragma omp atomic
g_qCount  ;

ama bu aynı şey değil

#pragma omp critical
g_qCount  ;

Şimdiden teşekkürler

CEVAP
17 EKİM 2011, PAZARTESİ


G_qCount üzerindeki etkisi aynıdır, ama olan oldu farklı.

OpenMP kritik bir bölümü tamamen genel - kod rasgele blok surround. Önemli ek yük üstlenmeden tarafından bu genellik, ancak, bir iş parçacığı girdiği her zaman ödeme ve kritik bölüm (seri doğasında maliyet üzerine) çıkar.

(Ek olarak, OpenMP tüm isimsiz kritik bölümler olarak aynı (Eğer isterseniz, sadece bir tane var kilit için tüm isimsiz kritik bölümleri), böylece eğer bir iş parçacığı bir [isimsiz] kritik bölüm olarak yukarıda, hiçbir iş parçacığı olabilir girin [isimsiz] kritik bölümü. Sizin de tahmin edebileceğiniz gibi, önemli bölümleri adlı kullanarak bu sorunun üstesinden gelmek).

Atomik işlem çok daha düşük ek yük vardır. Buna dayanmaktadır donanım sağlanması (diyelim ki bir atom artırma işlemi; bu durumda yok kilitle/kilidi aç gerekli girme/çıkma satır kod, sadece yaptığı atom artışı olan donanım söyler sana olamaz engel.

Güzel tarflarından yükü çok daha düşük olduğunu ve bir iş parçacığı bir atomik işlem (farklı) herhangi bir atomik işlem olmasını engellemek hakkında değil. Bu olumsuzlukları belirli bir platform üzerinde atomik işlemler, belirli herhangi bir dizi garantili olmadığını ve taşınabilirlik kaybedebilirsiniz. Derleyici eğer belirli atom desteklenmiyor eğer mi, ancak söylemeliyim.

Her iki durumda da tabii ki, seri hale getirme maliyeti azaltabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010
  • whatever

    whatever

    30 EYLÜL 2005