GPU Çekirdek İşlevi Yazma
Aygıt kodunu Mojo ile ifade edin.
GPU Çekirdek İşlevi Yazma, CoddyKit'te ücretsiz bir Mojo Academy dersidir. Bu, 4 dersinin 3. 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, Mojo Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Mojo 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 GPU kernel is the function each thread runs. You write the work for one element, and the hardware repeats it across many.
Think One Thread
The trick is to write a kernel from a single thread's view. Each thread does its own small slice of the work.
A Kernel Is Just an fn
In Mojo a kernel is a normal fn. Its strict, typed nature is exactly what device code needs to compile fast.
fn add_kernel():
passPassing in Buffers
A kernel takes pointers to device memory as parameters. These buffers hold the inputs and the output it will fill.
fn add_kernel(a: UnsafePointer[Float32], out: UnsafePointer[Float32]):
passFinding This Thread's Index
Inside the kernel, each thread computes its own position first. That index selects which element it must process.
var i = block_idx.x * block_dim.x + thread_idx.xGuarding the Bounds
Always check the index before touching memory. A bounds check keeps stray threads from reading past the array.
if i < n:
out[i] = a[i] + b[i]Doing the Element's Work
The body is tiny: read inputs, compute, write one result. The whole kernel often fits in a single line of math.
out[i] = a[i] * b[i]Launching the Kernel
You launch it by choosing a grid and block size. The launch fans your one-thread code out across the whole grid.
ctx.enqueue_function[add_kernel](grid_dim=blocks, block_dim=256)No Return Value
Kernels do not return results to the caller. They write into the output buffer, which you read back afterward.
Keep It Branch-Light
Threads run best in lockstep. Heavy branching makes lanes diverge and wait, so keep kernel logic simple and uniform.
Same Idea, Massive Scale
One short kernel plus a big grid equals millions of results. The scale comes from the launch, not from longer code.
Quick Check
You are writing the body of a GPU kernel for one thread.
Recap
A kernel is an fn for one thread: find your index, guard the bounds, do one element's math, then launch over a grid. ⚡
Sıkça Sorulan Sorular
“GPU Çekirdek İşlevi Yazma” dersi ücretsiz mi?
Evet — “GPU Çekirdek İşlevi Yazma” 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 Mojo Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Mojo Academy kursu toplamda 4 dersten oluşur.
“GPU Çekirdek İşlevi Yazma” dersinde ne öğreneceğim?
Aygıt kodunu Mojo ile ifade edin. Mojo 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.
Mojo Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Mojo 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 3. dersidir.
“GPU Çekirdek İşlevi Yazma” 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 Mojo Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Mojo 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
- Yapay Zekâ İş Yükleri İçin Neden GPU Kullanılır?
- İş Parçacıkları, Bloklar ve Izgaralar
- GPU Çekirdek İşlevi Yazma
- Verileri Aygıta Taşıma ve Geri Alma