CUDA Academy · Ders

Izgara Adımlı Döngüler

Izgaradan büyük dizileri yönetin.

4. ders / 413 adım

Izgara Adımlı Döngüler, CoddyKit'te ücretsiz bir CUDA Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, CUDA Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CUDA Academy kursu toplamda 4 dersten oluşur.

Dizi Çok Büyük Olduğunda

Bazen veriler, başlattığınız iş parçacıklarından çok daha büyüktür. Her öğe için bir iş parçığı kullanmak artık yeterli olmaz; bu nedenle her iş parçığının birkaç öğeyi işlemesi gerekir.

Izgaranın Bir Boyutu Vardır

Toplam iş parçığı sayısı ızgara boyutudur: blok sayısı çarpı blok başına iş parçığı sayısı. Bu adım aralığı, her iş parçığının öğelerinin birbirinden ne kadar uzakta olduğunu belirtir.

int stride = blockDim.x * gridDim.x;

Başlayın, Sonra Adım Atlayın

Her iş parçığı alışılmış global dizininden başlar, ardından ızgara boyutu kadar ileriye tekrar tekrar atlar ve dizinin dışına çıkana kadar devam eder.

Izgara-Adımlı Döngü

Bu döngü tüm kalıbı oluşturur: i değerinden başlayın, adım aralığı kadar ilerleyin ve n değerinde durun. Kaç iş parçığı başlatırsanız başlatın, her dizi boyutu kapsanır.

for (int i = blockIdx.x * blockDim.x + threadIdx.x;
     i < n;
     i += stride) {
    out[i] = a[i] + b[i];
}

Yerleşik Koruma

i < n döngü koşulunun kendisinin sınır denetimi olduğuna dikkat edin. Son konumu aşarak başlayan iş parçıkları döngüye hiçbir zaman girmez.

İş Nasıl Bölünür

Adım aralığı 4 iş parçığı olduğunda, 0 numaralı iş parçığı 0, 4 ve 8. öğeleri; 1 numaralı iş parçığı ise 1, 5 ve 9. öğeleri işler. İş, parçalara ayrılmaz; araya serpiştirilir.

Araya Serpiştirme Birleştirmeye Yardımcı Olur

Komşu iş parçıkları her adımda komşu adreslere erişmeye devam ettiğinden erişim birleştirilmiş kalır ve bellek bant genişliği yüksek olur.

İş Parçacıklarını Verilerden Ayırın

Artık başlatma boyutunuz n değerine bağlı değildir. GPU'ya uygun bir iş parçığı sayısı seçebilir ve döngünün her türlü iş yükünü karşılamasına izin verebilirsiniz.

Donanıma Göre Ayarlayın

Yaygın bir seçim, her işlemciyi dolduracak kadar blok kullanıp her iş parçığının döngüye girmesine izin vermektir. Böylece gereğinden fazla başlatma yapmadan GPU'yu meşgul tutarsınız.

Küçük Olduğunda da Çalışır

n ızgaradan küçükse her iş parçığı döngü gövdesini en fazla bir kez çalıştırır. Bu kalıp, basit duruma sorunsuzca uyarlanır.

Sağlam Bir Varsayılan

Birçok CUDA uzmanı her öğe tabanlı çekirdeği ızgara-adımlı döngü olarak yazar. Bu yaklaşım esnektir, güvenlidir ve yanlış seçim olma ihtimali düşüktür. 🚀

Hızlı Denetim

Adım aralığını belirleyin.

Özet

Izgara-adımlı döngüyü öğrendiniz: global dizinden başlayın ve i n değerine ulaşana kadar blockDim.x * gridDim.x kadar ilerleyin. Artık tek bir çekirdek her boyuttaki diziyi işleyebilir. 🎉

Başlamak ücretsiz

Yapay zeka eğitmeniyle C++ öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Izgara Adımlı Döngüler” dersi ücretsiz mi?

Evet — “Izgara Adımlı Döngüler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve CUDA Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CUDA Academy kursu toplamda 4 dersten oluşur.

“Izgara Adımlı Döngüler” dersinde ne öğreneceğim?

Izgaradan büyük dizileri yönetin. CUDA Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

CUDA Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te CUDA Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Izgara Adımlı Döngüler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu CUDA Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her CUDA Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Klasik Dizin Formülü
  2. Aralık Dışına Çıkmaya Karşı Koruma
  3. Blok Sayısını Yukarı Yuvarlayın
  4. Izgara Adımlı Döngüler
← CUDA Academy Sayfasına Dön