Kayıtlar ve Yerel Bellek
İş parçacığı başına en hızlı depolamayı ve taşmaları öğrenin.
Kayıtlar ve Yerel Bellek, 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.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
The Fastest Memory You Have
Every thread gets its own private registers, the quickest storage on the chip. They live right next to the math units, so reads cost almost nothing.
Plain Variables Become Registers
When you write a normal local variable in a kernel, the compiler usually keeps it in a register. No special syntax is needed at all. 🙂
__global__ void k() {
int x = 5; // x lives in a register
float y = x * 2.0f;
}Private to One Thread
A register value belongs to exactly one thread. Thread 7 cannot see thread 8's register, which is why per-thread work stays cleanly separated.
Registers Are a Shared Pool
Each streaming multiprocessor has a fixed register file. All resident threads split it, so using fewer registers per thread lets more threads run at once.
When You Run Out
If a kernel needs more registers than are available, the extra values get pushed elsewhere. This event is called a register spill.
Where Spills Go: Local Memory
Spilled values land in local memory, which despite the name is not on-chip. It actually lives in slow off-chip DRAM.
Local Is Still Per-Thread
Local memory is private to each thread just like registers. The difference is purely speed, since local memory is far slower to reach.
Big Local Arrays Spill
Declaring a large per-thread array often forces it into local memory, because there simply are not enough registers to hold every element.
__global__ void k() {
float buf[64]; // likely lives in local memory
}Spills Hurt Performance
Every spill turns a free register access into a slow DRAM trip. Cutting register pressure is one of the easiest optimization wins you can make.
Seeing Your Register Count
You can ask the compiler to report registers per thread. Pass --ptxas-options=-v to nvcc and it prints usage for each kernel.
nvcc --ptxas-options=-v kernel.cuCapping Registers on Purpose
The __launch_bounds__ qualifier hints the compiler to limit registers, trading a little per-thread speed for more threads running together.
__global__ void __launch_bounds__(256)
myKernel() { /* ... */ }Quick Check
You declared a big per-thread array and performance dropped. What likely happened?
Recap: Fast and Private
You learned that registers are the fastest per-thread storage, that the pool is limited, and that overflow spills into slow local memory. Keep register pressure low. 🎯
Sıkça Sorulan Sorular
“Kayıtlar ve Yerel Bellek” dersi ücretsiz mi?
Evet — “Kayıtlar ve Yerel Bellek” 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.
“Kayıtlar ve Yerel Bellek” dersinde ne öğreneceğim?
İş parçacığı başına en hızlı depolamayı ve taşmaları öğrenin. 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.
“Kayıtlar ve Yerel Bellek” 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
- Kayıtlar ve Yerel Bellek
- Genel Belleğin Ödünleşimleri
- Sabit Bellek ve Önbelleği
- Hiyerarşinin Zihinsel Modeli