Compilar con nvcc
Descubra cómo nvcc separa el código del host y del dispositivo.
Compilar con nvcc 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.
Conozca nvcc
El compilador de CUDA se llama nvcc. Toma su archivo .cu, que combina código de CPU y GPU, y lo convierte en un único programa ejecutable. 🛠️
Dos tipos de código
Un archivo .cu contiene dos mundos: código del host, que se ejecuta en la CPU, y código del dispositivo, que se ejecuta en la GPU. nvcc debe tratar cada uno de forma diferente.
La gran separación
nvcc splits su código fuente automáticamente. Entrega las partes del host a su compilador normal de C++ y conserva las partes del dispositivo para procesarlas por su cuenta.
Compilar el código del dispositivo
Para la parte de la GPU, nvcc genera un ensamblador especial llamado PTX y luego lo convierte en código máquina que su GPU específica puede ejecutar.
El compilador del host
nvcc no compila directamente el código de la CPU. Invoca discretamente el host compiler de su sistema, como g++ o clang, para procesar el C++ ordinario.
Su primer comando de compilación
Compilar funciona igual que con g++. Indique a nvcc su archivo .cu y asigne un nombre al resultado con la opción -o.
nvcc hello.cu -o helloElegir una arquitectura
La opción -arch indica a nvcc para qué generación de GPU debe compilar. Adaptarla a su tarjeta produce código del dispositivo más rápido y completamente optimizado.
nvcc -arch=sm_80 hello.cu -o helloCapacidad de cómputo
Ese número sm es una compute capability, una etiqueta que describe el conjunto de funciones de una GPU. sm_80 corresponde a una tarjeta Ampere; las tarjetas más antiguas usan números menores.
Fatbins para varias GPU
nvcc puede incluir código para varias arquitecturas en un único fatbinary, de modo que el mismo ejecutable funcione bien en distintas GPU sin tener que recompilarlo.
Opciones de optimización conocidas
Muchos hábitos de g++ se mantienen. nvcc acepta los niveles de -O y -g para depuración, y los envía a la etapa adecuada del compilador.
nvcc -O3 hello.cu -o helloEnlazar bibliotecas de CUDA
¿Necesita una biblioteca optimizada como cuBLAS? Puede link la biblioteca igual que en g++, añadiendo su nombre con una opción -l en el comando de nvcc.
nvcc app.cu -lcublas -o appComprobación rápida
Comprobemos cómo nvcc divide el trabajo.
Repaso
Ha aprendido que nvcc divide un archivo .cu, compila el código del dispositivo en código máquina para la GPU y entrega el código del host a g++. La opción -arch selecciona la tarjeta de destino. 🎯
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 «Compilar con nvcc» es gratis?
Sí — el texto completo de «Compilar con nvcc» 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 «Compilar con nvcc»?
Descubra cómo nvcc separa el código del host y del dispositivo. 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 «Compilar con nvcc»?
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
- Versiones del controlador, runtime y toolkit
- Leer nvidia-smi como un profesional
- Compilar con nvcc
- Hola, GPU: su primer archivo .cu