0Pricing
CUDA Academy · Lección

Fusión de filtros en un solo kernel

Reducir los lanzamientos y el tráfico global

Fusión de filtros en un solo kernel es una lección gratuita de CUDA Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CUDA Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CUDA Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

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. ✅

Preguntas frecuentes

¿La lección «Fusión de filtros en un solo kernel» es gratis?

Sí — el texto completo de «Fusión de filtros en un solo kernel» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CUDA Academy, actualiza a CoddyKit PRO. El curso de CUDA Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Fusión de filtros en un solo kernel»?

Reducir los lanzamientos y el tráfico global Practicas CUDA Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar CUDA Academy?

No se requiere experiencia previa. CUDA Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Fusión de filtros en un solo kernel»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de CUDA Academy?

Sí. Cada lección de CUDA Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Diseño de la canalización de procesamiento
  2. Fusión de filtros en un solo kernel
  3. Procesamiento por bloques para imágenes grandes
  4. Perfilar, optimizar y publicar
← Volver a CUDA Academy