Ana Bilgisayar Tarafını Bağlayın
Ayırın, kopyalayın, başlatın, geri kopyalayın ve serbest bırakın.
Ana Bilgisayar Tarafını Bağlayın, CoddyKit'te ücretsiz bir CUDA Academy dersidir. Bu, 4 dersinin 2. 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.
Ana Bilgisayarın da Bir Görevi Var
Çekirdek matematiği yapar, ancak ana bilgisayar CPU'su her şeyi hazırlar. Görevi ayırmak, içeri kopyalamak, başlatmak, geri kopyalamak ve serbest bırakmaktır. 🧩
İki İşaretçi Kümesi
CPU dizileri için ana bilgisayar işaretçilerini, GPU arabellekleri içinse ayrı aygıt işaretçilerini tutarsınız. Yaygın bir adlandırma alışkanlığı bunlara h_A ve d_A demektir.
float *h_A, *h_B, *h_C;
float *d_A, *d_B, *d_C;Girdiyi CPU'da Doldurun
Önce verilerinizi normal ana bilgisayar belleğinde hazırlayın. Burada yalnızca h_A ve h_B'yi GPU'nun daha sonra toplayacağı değerlerle başlatırsınız.
for (int i = 0; i < n; i++) {
h_A[i] = i; h_B[i] = 2 * i;
}Aygıtta Yer Ayırın
GPU'nun kendi arabelleklerine ihtiyacı vardır; bu nedenle her dizi için cudaMalloc çağrısı yapın. Boyutun bayt cinsinden olduğunu ve count çarpı sizeof(float) olarak hesaplandığını unutmayın.
size_t bytes = n * sizeof(float);
cudaMalloc(&d_A, bytes);Girdileri Yukarı Kopyalayın
Girdi dizilerinizi cudaMemcpy ve HostToDevice yönüyle GPU'ya taşıyın. Çekirdek yalnızca aygıtta bulunan verileri görebilir.
cudaMemcpy(d_A, h_A, bytes, cudaMemcpyHostToDevice);
cudaMemcpy(d_B, h_B, bytes, cudaMemcpyHostToDevice);Başlatma Biçimine Karar Verin
Blok başına iş parçacığı sayısını seçin, ardından tüm öğeleri kapsayacak blok sayısını hesaplayın. Yukarı yuvarlamak, her öğenin bir iş parçacığı almasını garanti eder.
int threads = 256;
int blocks = (n + threads - 1) / threads;Çekirdeği Başlatın
Şimdi çekirdeği üçlü açılı parantez sözdizimiyle ve aygıt işaretçilerinizi geçirerek başlatın. GPU çalışırken bu çağrı hemen geri döner.
vecAdd<<<blocks, threads>>>(d_A, d_B, d_C, n);Sonucu Aşağı Kopyalayın
Çekirdek tamamlandığında C'yi cudaMemcpyDeviceToHost ile geri getirin. Bu kopya, önce başlatma işleminin tamamlanmasını da bekler.
cudaMemcpy(h_C, d_C, bytes, cudaMemcpyDeviceToHost);Aygıt Belleğini Serbest Bırakın
GPU belleği otomatik olarak toplanmaz; bu nedenle her arabelleği cudaFree ile serbest bırakın. Bunu atlarsanız süreç sona erene kadar süren bir bellek sızıntısı oluşur.
cudaFree(d_A); cudaFree(d_B); cudaFree(d_C);Sıra Değişmez
Her zaman aynı sırayı izleyin: yer ayır, içeri kopyala, başlat, geri kopyala, serbest bırak. Adımları değiştirirseniz çekirdek eski veya geçersiz verileri okur.
Ana Bilgisayar Kodu Sade C++'tır
Ana bilgisayar tarafının sıradan C++ ile birkaç cuda çağrısından oluştuğuna dikkat edin. Çekirdek başlatmanın ötesinde özel bir derleyici sihri yoktur.
Hızlı Kontrol
vecAdd çekirdeğini başlatabilmeniz için önce ne gerçekleşmelidir?
Özet
Ana bilgisayar tarafını baştan sona bağladınız: iki işaretçi kümesi, cudaMalloc, içeri kopyalama, başlatma, geri kopyalama ve cudaFree. Her çekirdeği çalıştıran temel hazırlık kodu. ✅
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
“Ana Bilgisayar Tarafını Bağlayın” dersi ücretsiz mi?
Evet — “Ana Bilgisayar Tarafını Bağlayın” 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.
“Ana Bilgisayar Tarafını Bağlayın” dersinde ne öğreneceğim?
Ayırın, kopyalayın, başlatın, geri kopyalayın ve serbest bırakın. 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 2. dersidir.
“Ana Bilgisayar Tarafını Bağlayın” 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
- Vektör Toplama Çekirdeği
- Ana Bilgisayar Tarafını Bağlayın
- Sonucu CPU'da Doğrulayın
- İlk Hızlanmanızı Zamanlayın