CUDA Academy · Ders

cudaMalloc ve cudaFree

Genel belleği ayırın ve serbest bırakın.

1. ders / 413 adım

cudaMalloc ve cudaFree, 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.

GPU'nun Kendi RAM'i Vardır

GPU'nuz bilgisayarın ana belleğini ödünç almaz. Çekirdeklerin okuyup yazdığı global bellek adı verilen ayrı bir bellek havuzuna sahiptir. 🧠

Bellek İçin İstek Göndermelisiniz

Bir çekirdek aygıt belleğini kullanmadan önce bellekte bir alanı kendiniz ayırmalısınız. Bu ayırma işlemini yapan işlev cudaMalloc'tur.

cudaMalloc İmzası

cudaMalloc, bir göstericinin adresini ve bayt sayısını alır. Bu göstericiyi yeni bir aygıt adresiyle doldurur.

float* d_data;
cudaMalloc(&d_data, n * sizeof(float));

Neden Göstericinin Göstericisi

cudaMalloc'un yeni adresi değişkeninize geri yazabilmesi için &d_data aktarılır. Dönüş değeri bir hata kodu için ayrılmıştır.

Her Zaman Bayt Cinsinden Sayın

cudaMalloc öğeleri değil, ham baytları temel alır. Tamponun doğru boyutta olması için öğe sayınızı sizeof(type) ile çarpın.

cudaMalloc(&d_arr, count * sizeof(int));

cudaFree ile Geri Verin

Bir tamponla işiniz bittiğinde onu cudaFree kullanarak GPU'ya geri verin. Böylece global bellek başka işler için serbest bırakılır.

cudaFree(d_data);

Kilit ve Anahtar Gibi Çift Oluştururlar

cudaMalloc ile cudaFree'yi bir çift olarak düşünün. Yaptığınız her bellek ayırma işleminin tam olarak bir karşılık gelen serbest bırakma işlemi olmalıdır.

Bellek Başlangıçta Tanımsızdır

cudaMalloc ile alınan yeni bellek anlamsız değerler içerir. Verileri yazmadan veya kopyalamadan önce okumak öngörülemeyen sonuçlar verir.

Bellek Ayırma Başarısız Olabilir

GPU'nun belleği tükenirse cudaMalloc çökme yerine bir hata döndürür. Gerçek kodda bu dönüş kodunu her zaman denetleyin.

Global Bellek Bol Ancak Yavaştır

cudaMalloc ile alınan tamponlar global bellekte bulunur: gigabaytlarca alan sunar, ancak yonga üzerindeki en yavaş katmandır. Cömertçe kullanın, fakat erişim düzenlerine dikkat edin.

Her Programın Ritmi

Neredeyse her CUDA programı aynı sırayı izler: cudaMalloc, verileri kopyalama, bir çekirdek başlatma, sonuçları geri kopyalama ve ardından cudaFree.

Kısa Kontrol

cudaMalloc işaretçi hedefini nasıl aldığını doğrulayalım.

Özet

GPU belleğini bayt cinsinden boyutlandırarak cudaMalloc ile ayırmayı ve eşleşen çağrılarla cudaFree kullanarak serbest bırakmayı öğrendiniz. 🎉

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

“cudaMalloc ve cudaFree” dersi ücretsiz mi?

Evet — “cudaMalloc ve cudaFree” 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.

“cudaMalloc ve cudaFree” dersinde ne öğreneceğim?

Genel belleği ayırı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 1. dersidir.

“cudaMalloc ve cudaFree” 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. cudaMalloc ve cudaFree
  2. GPU Belleğine Göstergeler
  3. Başlatma için cudaMemset
  4. Sızıntılardan ve Çifte Serbest Bırakmadan Kaçının
← CUDA Academy Sayfasına Dön