Ana Bilgisayardan Cihaza Aktarımlar
Girdi verilerini GPU'ya yükleyin.
Ana Bilgisayardan Cihaza Aktarımlar, CoddyKit'te ücretsiz bir CUDA Academy dersidir. Bu, 4 dersinin 1. 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.
İki Bellek, Tek Amaç
Verileriniz ana bilgisayar RAM'inde başlar; ancak GPU yalnızca kendi aygıt belleğinde bulunan sayıları işleyebilir. Önce verileri karşıya taşımanız gerekir. 🚚
cudaMemcpy ile Tanışın
cudaMemcpy işlevi, teslimat aracınız gibidir: bir bayt bloğunu ana bilgisayar veya aygıt üzerindeki bir adresten diğerine kopyalar.
cudaMemcpy(dst, src, bytes, kind);Yükleme Yönü
Girdi verilerini GPU'ya göndermek için cudaMemcpyHostToDevice kullanırsınız. Kaynak ana bilgisayar RAM'i, hedef ise aygıt belleğidir.
cudaMemcpy(d_a, h_a, n*sizeof(float), cudaMemcpyHostToDevice);Bağımsız Değişkenlerin Sırası Önemlidir
memcpy'de olduğu gibi önce hedef, sonra kaynak gelir. Bunları yanlışlıkla değiştirirseniz GPU arabelleğiniz boş kalır. 😬
cudaMemcpy(d_dst, h_src, bytes, cudaMemcpyHostToDevice);Ögeleri Değil, Baytları Sayın
Boyut bağımsız değişkeni bayt cinsinden ölçülür; bu nedenle öge sayınızı sizeof ile tür boyutuyla çarpın.
size_t bytes = n * sizeof(float);Kopyalamadan Önce Bellek Ayırın
Aygıt işaretçisi gerçek GPU belleğini göstermelidir. Verileri yüklemeden önce hedef için her zaman cudaMalloc çağrısıyla bellek ayırın.
cudaMalloc(&d_a, bytes);
cudaMemcpy(d_a, h_a, bytes, cudaMemcpyHostToDevice);Eş Zamanlı Bekleme
Normal cudaMemcpy engelleyicidir: her bayt GPU'ya güvenle ulaşana kadar CPU iş parçacığınız bekler.
Ardından Çekirdeğinizi Başlatın
Önce yükleyin, sonra hesaplayın. Girdi aygıta ulaştığında çekirdeğiniz onu okuyup asıl çalışmaya başlayabilir.
cudaMemcpy(d_a, h_a, bytes, cudaMemcpyHostToDevice);
myKernel<<<blocks, threads>>>(d_a, n);Boyutlar Eşleşmelidir
Yüklediğiniz bayt sayısının ayırdığınız arabelleğe sığdığından emin olun. Ayırdığınızdan fazlasını kopyalamak klasik bir taşma hatasıdır.
Döndürülen Kodu Kontrol Edin
cudaMemcpy bir cudaError_t döndürür. Hatalı bir işaretçi veya boyut, çalışmanızı bozmak yerine açıkça başarısız olsun diye bunu inceleyin.
cudaError_t err = cudaMemcpy(d_a, h_a, bytes, cudaMemcpyHostToDevice);Kopyalamalar Ücretsiz Değildir
Her yükleme yavaş PCIe veri yolu üzerinden gerçekleşir; bu nedenle yalnızca aygıtta gerçekten ihtiyaç duyduğunuz verileri kopyalayın.
Kısa Kontrol
CPU RAM'indeki bir girdi dizisini GPU'ya göndermek istiyorsunuz. Hangi çağrı doğrudur?
Özet
Verileri cudaMemcpyHostToDevice ile yüklemeyi öğrendiniz: aygıt arabelleğine bellek ayırın, önce hedefi yazın, boyutu bayt cinsinden belirtin ve başlatmadan önce kopyalayın. 🎉
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 Bilgisayardan Cihaza Aktarımlar” dersi ücretsiz mi?
Evet — “Ana Bilgisayardan Cihaza Aktarımlar” 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 Bilgisayardan Cihaza Aktarımlar” dersinde ne öğreneceğim?
Girdi verilerini GPU'ya yükleyin. 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 1. dersidir.
“Ana Bilgisayardan Cihaza Aktarımlar” 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
- Ana Bilgisayardan Cihaza Aktarımlar
- Cihazdan Ana Bilgisayara Aktarımlar
- Kopyalama Yönü Numaralandırması
- PCIe Aktarım Darboğazı