0Pricing
CUDA Academy · Ders

Bir Çekirdeğin Anatomisi

İmza, dönüş türü ve void kuralı.

Bir Çekirdeğin Anatomisi, 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.

What a Kernel Is

A kernel is a single C++ function that runs on the GPU, executed at once by thousands of threads. You write it once, the hardware fans it out. 🚀

The __global__ Marker

You mark a kernel with the __global__ qualifier. It tells nvcc this function is called from the CPU but actually runs on the device.

__global__ void myKernel() {
    // runs on the GPU
}

Kernels Return void

Every kernel must return void. There is no return value to hand back, so results travel out through pointers to device memory instead.

__global__ void k() { /* void only */ }

Why Not Return a Value?

Thousands of threads run your kernel together, so a single return value would make no sense. Each thread writes its own slot of an output array.

Parameters Are by Value

Kernel parameters are copied to every thread, so pass small things: ints, sizes, and pointers. Never pass big objects by value.

__global__ void add(float* out, float* a, int n) {}

Pass Pointers, Not Arrays

To give a kernel an array, you pass a device pointer. The kernel reads and writes the GPU memory that pointer addresses.

__global__ void scale(float* data, float k) {}

Each Thread Picks Its Work

The same code runs in every thread, so each one uses its index to decide which element to touch. That is how one function covers a whole array.

int i = threadIdx.x; // who am I?

A Tiny Complete Kernel

Here is a full kernel: it doubles one element per thread. Notice the __global__ marker, the void return, and the pointer parameter all together.

__global__ void doubleIt(float* x) {
    int i = threadIdx.x;
    x[i] = x[i] * 2.0f;
}

Host Code Stays Separate

Your normal CPU function, often main, is host code. It sets things up and then asks the GPU to run the kernel.

int main() {
    // host side: prepare and launch
}

No Recursion or I/O Surprises

A kernel runs on hardware with tight rules, so keep it simple: avoid deep recursion and heavy standard-library calls inside it.

Naming Your Kernels

Treat a kernel like any function: give it a clear, verb-based name like vectorAdd. Good names make launches far easier to read.

__global__ void vectorAdd(float* c, float* a, float* b);

Quick Check

Let us check the kernel signature rules.

Recap: Kernel Anatomy

A kernel is a __global__ void function run by many threads. Pass pointers and small values, and let each thread use its index. Nicely done! 🎉

Sıkça Sorulan Sorular

“Bir Çekirdeğin Anatomisi” dersi ücretsiz mi?

Evet — “Bir Çekirdeğin Anatomisi” 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.

“Bir Çekirdeğin Anatomisi” dersinde ne öğreneceğim?

İmza, dönüş türü ve void kuralı. 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.

“Bir Çekirdeğin Anatomisi” 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. Bir Çekirdeğin Anatomisi
  2. Üçlü Açı Parantezleriyle Başlatma
  3. Çekirdek İçinde printf
  4. cudaDeviceSynchronize Açıklaması
← CUDA Academy Sayfasına Dön