Fusionner les filtres dans un seul noyau
Réduire les lancements et le trafic global
Fusionner les filtres dans un seul noyau est une leçon CUDA Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CUDA Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CUDA Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Why Fuse At All
Running five kernels means five launches and five round-trips to global memory. Fusing filters into one kernel cuts both, often giving a big speedup. 🚀
Launch Overhead Adds Up
Every kernel launch costs a few microseconds. On a tiny image that fixed launch overhead can dwarf the real work, so fewer launches means more useful time.
Global Traffic Is the Enemy
Separate stages write a pixel to global memory then read it right back. Fusing keeps that value in a register, erasing the wasted round-trip entirely.
Load Once Per Thread
In a fused kernel each thread reads its pixel a single time. That one load then feeds every filter in sequence without touching global memory again.
float v = input[idx];Chain Operations in Registers
Apply each filter to the value already in hand. The pixel flows through brightness, gamma, and contrast as plain math, all kept in fast registers.
v = v * brightness;
v = powf(v, gamma);
v = (v - 0.5f) * contrast + 0.5f;Write Once At the End
After the whole chain runs, store the final result. One store replaces the many writes that separate kernels would have made.
output[idx] = v;Pointwise Filters Fuse Cleanly
Filters that touch only one pixel are pointwise and fuse with zero fuss. Brightness, gamma, and color tweaks are the easiest wins to combine.
Neighborhood Filters Are Harder
A blur reads nearby pixels, so fusing it needs shared memory tiles, not just registers. Fuse pointwise stages freely and treat stencils with extra care.
Watch Register Pressure
A big fused kernel uses more registers per thread. Too many and occupancy drops or values spill, so fuse aggressively but keep an eye on the cost.
Verify After Fusing
Fusing reorders work, so always compare the fused output against the staged version. A quick diff confirms the math still matches before you celebrate.
One Kernel, Many Filters
The payoff is real: a single launch reads, transforms, and writes each pixel exactly once. That is the heart of a well-tuned fused image kernel.
Quick Check
You merged three pointwise filters into one kernel. What is the main performance win?
Recap
You learned to fuse filters: load once, chain pointwise math in registers, write once. It cuts launches and global traffic, but watch register pressure and verify the output. ✅
Questions Fréquemment Posées
La leçon « Fusionner les filtres dans un seul noyau » est-elle gratuite ?
Oui — le texte complet de « Fusionner les filtres dans un seul noyau » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CUDA Academy, passe à CoddyKit PRO. Le cours CUDA Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Fusionner les filtres dans un seul noyau » ?
Réduire les lancements et le trafic global Tu pratiques CUDA Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer CUDA Academy ?
Aucune expérience préalable n'est requise. CUDA Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Fusionner les filtres dans un seul noyau » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon CUDA Academy ?
Oui. Chaque leçon CUDA Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Concevoir le pipeline de traitement
- Fusionner les filtres dans un seul noyau
- Traiter les tuiles en flux pour les grandes images
- Analyser, optimiser, livrer