0Pricing
CUDA Academy · Lección

Anotar código con NVTX

Asigne nombres a rangos para obtener líneas temporales legibles.

Anotar código con NVTX 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.

Las líneas de tiempo necesitan etiquetas

Una línea de tiempo sin procesar está llena de barras anónimas. NVTX le permite añadir sus propios nombres para que el profiler se lea como su código. 🏷️

Qué es NVTX

NVTX es la extensión de herramientas de NVIDIA: una pequeña biblioteca para marcar regiones y eventos que Nsight dibuja después en la línea de tiempo.

Incluir el header

Empiece incluyendo un header. Después, las llamadas de marcado estarán disponibles en cualquier parte de su código del host.

#include <nvtx3/nvToolsExt.h>

Marcar un rango

Rodee una sección de trabajo con un rango con nombre. El push lo inicia y el pop lo termina, dibujando una barra etiquetada.

nvtxRangePush("load data");
// work here
nvtxRangePop();

Push y pop anidados

Los rangos se anidan como los corchetes. Un push interno debe cerrarse con pop antes que el externo, para que las etiquetas se apilen ordenadamente en la línea de tiempo.

Marcadores instantáneos

Para un único momento en el tiempo, coloque un marcador en lugar de un rango. Este fija un evento, como el inicio de una época.

nvtxMark("epoch start");

Colorear los rangos

Puede asignar un color a cada rango para distinguir las etapas de un vistazo. La carga podría ser azul y el cómputo, verde.

Líneas de tiempo legibles

Con NVTX, la vista de Nsight muestra por nombre fases como el preprocesamiento y la inferencia. Ya no tendrá que descifrar símbolos crípticos de kernels.

Casi gratis cuando está desactivado

Cuando no hay ningún profiler conectado, las llamadas a NVTX son prácticamente gratuitas. Puede dejar las anotaciones en el código sin un coste real.

Está del lado del host

NVTX anota el código del host, la parte de la CPU que coordina el trabajo. Enmarca las regiones donde se ejecutan los kernels y las copias.

Envoltorios RAII

En C++ moderno, a menudo se envuelve un rango en un pequeño objeto RAII. Este ejecuta el pop automáticamente cuando termina el ámbito, así que nunca se le olvidará.

Comprobación rápida

Quiere que aparezcan regiones con nombre y etiquetas en su línea de tiempo de Nsight.

Resumen

NVTX convierte las barras misteriosas en rangos y marcadores con nombre. Unas pocas llamadas a push y pop hacen que sus líneas de tiempo de Nsight sean legibles al instante. 👏

Preguntas frecuentes

¿La lección «Anotar código con NVTX» es gratis?

Sí — el texto completo de «Anotar código con NVTX» 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 «Anotar código con NVTX»?

Asigne nombres a rangos para obtener líneas temporales legibles. 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 «Anotar código con NVTX»?

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. Vista de línea temporal en Nsight Systems
  2. Métricas de kernels en Nsight Compute
  3. Limitado por cómputo frente a limitado por memoria
  4. Anotar código con NVTX
← Volver a CUDA Academy