GPU'ların eşitlemeyi nasıl gerçekleştirdiği hakkında bazı sorularım var. Bildiğim kadarıyla, bir warp bir bariyerle karşılaştığında (OpenCL'de olduğu varsayılarak), ve aynı grubun diğer çözgülerinin henüz orada bulunmadığını biliyor. Yani beklemek zorunda. Ama bu çözgü bekleme süresi boyunca tam olarak ne yapıyor? Hala aktif bir çözgü mü? Yoksa bir çeşit boş operasyon yapacak mı?GPU'lardaki Senkronizasyonlar
Fark ettiğim gibi, çekirdekte bir senkronizasyon olduğunda, talimatların sayısı artar. Bu artışın kaynağı nedir acaba? Senkronizasyon çok daha küçük GPU komutlarına ayrıldı mı? Ya da boşta olan çözgülerin bazı ekstra talimatlar yapması nedeniyle mi?
Ve son olarak, senkronizasyon olmadan bir eşitleme ile eklenen maliyetin (bir bariyerin (CLK_LOCAL_MEM_FENCE)) bir çalışma grubundaki (veya iş parçacığının) warp sayısından etkilenip etkilenmediğini merak ediyorum. Teşekkürler
Detaylı yanıt için teşekkürler. Bilgiyi aldığın bazı belgeleri paylaşırsan hoş olur. Araştırmamda alıntı yapmak istiyorum. Belleğe bağlı çekirdeklerin neden bellek gecikmelerini açığa çıkardığını açıklayabilir misiniz? Şimdi anladığım gibi, bir bilgi işlemine göre gizlenmesi gereken bir eşitleme (senkronizasyondan önce beliren) için bir bellek isteği, veriler elde edilene kadar durur. Doğru mu? Öte yandan, çekirdek memel değil ise, bir senkronizasyon ne ortaya çıkıyor? yönlendirme boru hattı gecikmesi? (herhangi bir sapma olmadığı varsayıldı, ve evet bütün bunlar sapmalar ile ne yapıyor?) – Zk1001