CUDA Academy · Lección

API del calculador de ocupación

cudaOccupancyMaxPotentialBlockSize.

Lección 3 de 413 pasos

API del calculador de ocupación es una lección gratuita de CUDA Academy en CoddyKit. Esta es la lección 3 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.

Deje de adivinar el tamaño del bloque

En lugar de ajustar manualmente, CUDA ofrece una API de ocupación que calcula automáticamente un buen tamaño de bloque para su kernel.

La función estrella

Una llamada hace todo el trabajo: cudaOccupancyMaxPotentialBlockSize sugiere un tamaño de bloque que maximiza la ocupación.

cudaOccupancyMaxPotentialBlockSize(&grid, &block, myKernel);

Qué devuelve

Rellena un tamaño de bloque sugerido y el tamaño mínimo de grid necesario para ocupar por completo el dispositivo con su kernel.

Conoce su kernel

La API lee el uso real de registros y memoria compartida de su kernel, por lo que la sugerencia se ajusta a ese kernel concreto y no a una estimación genérica.

Predecir la ocupación

Una llamada relacionada indica cuántos bloques activos por SM proporciona una configuración, para que pueda predecir la ocupación antes del lanzamiento.

cudaOccupancyMaxActiveBlocksPerMultiprocessor(&n, k, 256, 0);

Calcular el porcentaje

Multiplique los bloques por SM por los warps por bloque y divida el resultado entre el máximo de warps del SM para obtener el porcentaje de ocupación teórica.

Memoria compartida dinámica

Estas llamadas aceptan un argumento de memoria compartida dinámica, por lo que la predicción sigue siendo precisa cuando el kernel establece el tamaño de la memoria compartida durante el lanzamiento.

Compatible con distintas GPU

Como consulta el dispositivo en ejecución, el mismo código elige buenos tamaños en distintas GPU sin que tenga que codificar números manualmente.

Úsela al iniciar

Llame a la API de ocupación una vez durante la inicialización, guarde en caché el tamaño de bloque y reutilícelo en cada lanzamiento de ese kernel.

Un valor predeterminado sólido

El tamaño sugerido es un excelente punto de partida. Aun así, puede comparar algunos tamaños cercanos para encontrar el mejor para sus datos.

Por qué supera a los números mágicos

Los tamaños codificados, como 256, dejan de funcionar bien cuando cambian los recursos. La API se adapta y mantiene automáticamente el kernel cerca de su ocupación máxima.

Comprobación rápida

Recuerde qué le proporciona cudaOccupancyMaxPotentialBlockSize.

Resumen

Ha conocido la API de ocupación: sugiere un tamaño de bloque portable y adaptado al kernel, y predice la ocupación antes de cualquier lanzamiento. ⚙️

Gratis para empezar

Aprende C++ con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «API del calculador de ocupación» es gratis?

Sí — el texto completo de «API del calculador de ocupació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 «API del calculador de ocupación»?

cudaOccupancyMaxPotentialBlockSize. 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 3 de 4.

¿Cuánto tiempo toma la lección «API del calculador de ocupació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. Qué significa realmente la ocupación
  2. Límites de registros y memoria compartida
  3. API del calculador de ocupación
  4. La ocupación no lo es todo
← Volver a CUDA Academy