CUDA Academy · Lección

Sugerencias mediante cudaMemAdvise

Oriente las decisiones de ubicación del controlador.

Lección 4 de 413 pasos

Sugerencias mediante cudaMemAdvise 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.

Aconsejar, no ordenar

El prefetch mueve los datos ahora; cudaMemAdvise, en cambio, indica al controlador cómo piensa utilizar una región para que pueda ubicar las páginas de forma inteligente con el tiempo.

La forma de la llamada

Se pasan el puntero, el número de bytes, una marca de advice y un identificador de dispositivo. El controlador incorpora esa sugerencia a sus futuras decisiones de migración.

cudaMemAdvise(data, bytes, advice, device);

ReadMostly para compartir

Use cudaMemAdviseSetReadMostly con datos que muchos dispositivos leen, pero rara vez modifican. El controlador puede mantener copias de solo lectura en ambos lados para evitar la migración.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetReadMostly, dev);

PreferredLocation fija un hogar

Con cudaMemAdviseSetPreferredLocation, designa un dispositivo como ubicación principal de las páginas. Estas se resisten a alejarse incluso cuando otro lado las utiliza.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetPreferredLocation, dev);

AccessedBy evita la migración

cudaMemAdviseSetAccessedBy indica que un dispositivo accederá a esta región, por lo que el controlador la mapea allí. El acceso se realiza a través del bus en lugar de mover las páginas.

cudaMemAdvise(data, bytes,
  cudaMemAdviseSetAccessedBy, dev);

Las sugerencias detienen el vaivén

Cuando dos dispositivos compiten por las mismas páginas, la sugerencia adecuada detiene el vaivén. Estabiliza la ubicación para que los datos dejen de migrar de un lado a otro.

Las sugerencias son persistentes

A diferencia de un prefetch puntual, la sugerencia persiste en la región hasta que la cambie. Da forma a cada decisión de migración durante toda la vida del búfer.

Cada sugerencia tiene una variante Unset

Cada marca Set tiene una forma Unset equivalente para revocar la sugerencia. Elimine la sugerencia cuando cambie el patrón de acceso para no inducir a error al controlador.

cudaMemAdvise(data, bytes,
  cudaMemAdviseUnsetReadMostly, dev);

Advice más prefetch

Ambas herramientas combinan bien. Establezca PreferredLocation para definir la ubicación principal y, después, haga prefetch para llenarla; así las migraciones adoptan un patrón estable.

Al fin y al cabo, solo es una sugerencia

Recuerde el nombre: advice es una sugerencia, no una garantía. El controlador puede ignorarla, así que mida siempre para confirmar que la ubicación ha ayudado.

Su conjunto de herramientas para Unified Memory

Ahora dispone de tres controles: un puntero gestionado, prefetch para el momento de la transferencia y advise para la ubicación. Juntos hacen que Unified Memory sea fácil y rápida.

Comprobación rápida

Confirmemos en qué se diferencia cudaMemAdvise del prefetch.

Resumen: sugerencias de memoria

Ha aprendido sugerencias de cudaMemAdvise como ReadMostly, PreferredLocation y AccessedBy para orientar la ubicación de las páginas. Combínelas con prefetch y profiling. ¡Muy bien! 🎯

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 «Sugerencias mediante cudaMemAdvise» es gratis?

Sí — el texto completo de «Sugerencias mediante cudaMemAdvise» 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 «Sugerencias mediante cudaMemAdvise»?

Oriente las decisiones de ubicación del controlador. 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 «Sugerencias mediante cudaMemAdvise»?

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. Un puntero para ambos lados
  2. Migración de páginas bajo demanda
  3. Prefetching con cudaMemPrefetchAsync
  4. Sugerencias mediante cudaMemAdvise
← Volver a CUDA Academy