0Pricing
CUDA Academy · Lección

cudaMalloc y cudaFree

Reserve y libere memoria global.

cudaMalloc y cudaFree es una lección gratuita de CUDA Academy en CoddyKit. Esta es la lección 1 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.

La GPU tiene su propia RAM

Su GPU no toma prestada la memoria principal del equipo. Tiene un espacio independiente llamado memoria global, que los kernels leen y escriben. 🧠

Debe solicitarla

Antes de que un kernel pueda usar la memoria del dispositivo, debe reservar usted mismo un bloque. La función que realiza esta reserva es cudaMalloc.

La firma de cudaMalloc

cudaMalloc recibe la dirección de un puntero y una cantidad de bytes. Rellena ese puntero con una nueva dirección del dispositivo.

float* d_data;
cudaMalloc(&d_data, n * sizeof(float));

Por qué se usa un puntero a un puntero

Pasa &d_data para que cudaMalloc pueda escribir la nueva dirección en su variable. El valor devuelto está reservado para un código de error.

Cuente siempre en bytes

cudaMalloc trabaja con bytes sin procesar, no con elementos. Multiplique la cantidad de elementos por sizeof(type) para que el búfer tenga el tamaño correcto.

cudaMalloc(&d_arr, count * sizeof(int));

Devuélvala con cudaFree

Cuando termine de usar un búfer, devuélvalo a la GPU mediante cudaFree. Esto libera la memoria global para otros trabajos.

cudaFree(d_data);

Van en pareja, como llave y cerradura

Trate cudaMalloc y cudaFree como una pareja. Cada reserva que realice debe tener exactamente una liberación correspondiente.

La memoria no está inicializada

La memoria nueva obtenida con cudaMalloc contiene valores basura. Leerla antes de escribir o copiar datos produce resultados impredecibles.

La reserva puede fallar

Si la GPU se queda sin memoria, cudaMalloc devuelve un error en lugar de bloquearse. En código real, compruebe siempre ese código de retorno.

La memoria global es abundante, pero lenta

Los búferes obtenidos con cudaMalloc viven en la memoria global: ofrece gigabytes de espacio, pero es el nivel más lento del chip. Úsela con generosidad, pero tenga en cuenta los patrones de acceso.

El ritmo de todo programa

Casi todos los programas CUDA siguen el mismo ritmo: cudaMalloc, copiar los datos de entrada, lanzar un kernel, copiar los resultados y, después, cudaFree.

Comprobación rápida

Confirmemos cómo recibe cudaMalloc el puntero de destino.

Resumen

Ha aprendido a reservar memoria de la GPU con cudaMalloc, dimensionada en bytes, y a liberarla con cudaFree en parejas correspondientes. 🎉

Preguntas frecuentes

¿La lección «cudaMalloc y cudaFree» es gratis?

Sí — el texto completo de «cudaMalloc y cudaFree» 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 «cudaMalloc y cudaFree»?

Reserve y libere memoria 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 1 de 4.

¿Cuánto tiempo toma la lección «cudaMalloc y cudaFree»?

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. cudaMalloc y cudaFree
  2. Punteros a memoria de la GPU
  3. cudaMemset para inicializar
  4. Evitar fugas y dobles liberaciones
← Volver a CUDA Academy