GPU Belleğine Göstergeler
Cihaz göstergeleri ana bilgisayar değişkenlerinde tutulur.
GPU Belleğine Göstergeler, 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.
CPU'da Yaşayan Bir İşaretçi
cudaMalloc size normal bir C++ işaretçi değişkeni verir. Bu değişken ana bilgisayar belleğinde bulunur, ancak içindeki adres GPU belleğini gösterir. 🔗
Adres Aygıtı Gösterir
Bir aygıt işaretçisi, yalnızca GPU'nun adres alanında geçerli olan bir sayı tutar. CPU açısından bu, gerçek RAM değil, yalnızca bir tam sayıdır.
float* d_data; // host variable, device addressd_ Adlandırma Alışkanlığı
Programcılar aygıt işaretçilerinin önüne d_, ana bilgisayar işaretçilerinin önüne h_ koyar. Yalnızca adın kendisi bile her birinin hangi tarafa ait olduğunu hatırlatır.
float* h_data;
float* d_data;Ana Bilgisayarda Başvuru Yapmayın
CPU kodunda *d_data yazmak bir tuzaktır. Ana bilgisayar GPU belleğine doğrudan erişemez; bu nedenle işlem çöker veya anlamsız bir değer okur.
Çekirdekler Ona Serbestçe Başvurabilir
Aynı aygıt işaretçisi bir çekirdeğin içinde tamamen geçerlidir. Orada d_data[i], beklediğiniz gibi gerçek GPU belleğini okur ve yazar.
__global__ void k(float* d) {
d[0] = 1.0f;
}Onu Çekirdeğe Aktarın
Aygıt işaretçisini bir çekirdeğe bağımsız değişken olarak verirsiniz. GPU, verilerinizi bulmak için bu adresi kullanır.
myKernel<<<grid, block>>>(d_data);İki İşaretçi, İki Alan
Ana bilgisayar ve aygıt işaretçilerini kesinlikle birbirinden ayrı tutun. Bir ana bilgisayar işaretçisi GPU'da, bir aygıt işaretçisi ise CPU'da anlamsızdır.
cudaMemcpy Aradaki Boşluğu Kapatır
İki taraf arasında veri almak için verileri kopyalarsınız. cudaMemcpy, her iki işaretçiyi alır ve baytları aradaki sınırdan sizin için taşır.
İşaretçi Aritmetiği Yine Çalışır
Bir dilime işaret etmek için ana bilgisayarda aygıt işaretçisine d_data + n gibi bir uzaklık ekleyebilirsiniz. Ancak burada işaretçinin gösterdiği değeri okumamalısınız.
float* d_tail = d_data + 100;Bunları Karıştırmak Sinsi Bir Sorundur
Derleyici ikisini karıştırmanızı engellemez. Birçok CUDA hatası, aslında aygıt işaretçisinin gerektiği yerde bir ana bilgisayar işaretçisinin verilmesinden kaynaklanır.
Disiplin, Hata Ayıklamadan Üstündür
Açık adlandırma ve sabit bir kural size saatler kazandırır. d_ ve h_ düzeninize erkenden karar verin ve bunu hiç bozmayın. 🧹
Kısa Kontrol
Bir aygıt işaretçisinin nerede güvenle başvurulabileceğini test edelim.
Özet
Bir aygıt işaretçisinin bir ana bilgisayar değişkeninde bulunduğunu, ancak GPU belleğini gösterdiğini öğrendiniz: çekirdeklerin içinde kullanılabilir, ana bilgisayarın doğrudan erişimine kapalıdır. 🎉
Sıkça Sorulan Sorular
“GPU Belleğine Göstergeler” dersi ücretsiz mi?
Evet — “GPU Belleğine Göstergeler” 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.
“GPU Belleğine Göstergeler” dersinde ne öğreneceğim?
Cihaz göstergeleri ana bilgisayar değişkenlerinde tutulur. 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.
“GPU Belleğine Göstergeler” 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
- cudaMalloc ve cudaFree
- GPU Belleğine Göstergeler
- Başlatma için cudaMemset
- Sızıntılardan ve Çifte Serbest Bırakmadan Kaçının