0Pricing
CUDA Academy · Lección

Medir la aceleración

Compare el rendimiento ingenuo con el segmentado en teselas.

Medir la aceleración es una lección gratuita de CUDA Academy en CoddyKit. Esta es la lección 4 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.

Demostrar la mejora

Ha creado un kernel con tiling, pero ¿cuánto más rápido es realmente? Medir convierte una suposición en un número en el que puede confiar. 📊

Medir con el reloj de la GPU

Use CUDA events para cronometrar los kernels. Se sitúan en el stream de la GPU y miden exactamente cuándo comienza y termina el trabajo.

cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);

Delimitar el kernel

Registre un evento antes del lanzamiento y otro después; luego sincronice para que la medición espere realmente a que la GPU termine.

cudaEventRecord(start);
matmul<<<g,b>>>(...);
cudaEventRecord(stop);
cudaEventSynchronize(stop);

Leer el tiempo transcurrido

Solicite la diferencia entre los eventos en milisegundos. Ese único número es el tiempo de ejecución medido de su kernel.

float ms;
cudaEventElapsedTime(&ms, start, stop);

Calentar primero

El primer lanzamiento asume costes de configuración que solo se pagan una vez. Ejecute un kernel de calentamiento antes de medir para obtener la velocidad estable, no el tiempo de inicio.

Promediar varias ejecuciones

Una sola muestra es ruidosa. Cronometre el kernel varias veces y calcule el promedio para obtener un resultado estable y fiable.

Calcular la aceleración

La aceleración es simplemente el tiempo del kernel ingenuo dividido por el tiempo del kernel con tiling. Un valor de 4x significa que el kernel con tiling se ejecutó cuatro veces más rápido.

float speedup = naive_ms / tiled_ms;

Pensar en GFLOPS

Matmul realiza aproximadamente 2 * N^3 operaciones de coma flotante. Divida esa cantidad por el tiempo para expresar el rendimiento en GFLOPS, la medida estándar.

double gflops = (2.0*N*N*N) / (ms * 1e6);

Por qué gana el tiling

La aceleración se debe a la drástica reducción del tráfico de la memoria global. La reutilización de la memoria compartida mantiene ocupados los núcleos en lugar de hacerlos esperar a cargas lentas.

Verificar siempre la corrección

Una respuesta incorrecta, por rápida que sea, no sirve. Compare el resultado de la GPU con una referencia de la CPU antes de celebrar la aceleración. ✅

Conocer el límite

Incluso el matmul con tiling queda por detrás de cuBLAS optimizado manualmente. Conocer la diferencia le indica cuándo seguir optimizando y cuándo recurrir a una biblioteca.

Comprobación rápida

Recuerde cuál es la herramienta adecuada para cronometrar kernels de GPU.

Resumen

Cronometró con CUDA events, calentó la GPU, calculó promedios, obtuvo la aceleración y los GFLOPS, y verificó la corrección. Ahora puede demostrar sus optimizaciones. 🏁

Preguntas frecuentes

¿La lección «Medir la aceleración» es gratis?

Sí — el texto completo de «Medir la aceleración» 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 «Medir la aceleración»?

Compare el rendimiento ingenuo con el segmentado en teselas. 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 4 de 4.

¿Cuánto tiempo toma la lección «Medir la aceleración»?

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. El kernel matmul ingenuo
  2. Dividir en teselas el producto interno
  3. Recorrer las fases de las teselas
  4. Medir la aceleración
← Volver a CUDA Academy