Skip to content
Novedades de CUDA Toolkit 13.0 para Jetson Thor: Ecosistema ARM Unificado y más
Source: developer.nvidia.com

Novedades de CUDA Toolkit 13.0 para Jetson Thor: Ecosistema ARM Unificado y más

Sources: https://developer.nvidia.com/blog/whats-new-in-cuda-toolkit-13-0-for-jetson-thor-unified-arm-ecosystem-and-more, https://developer.nvidia.com/blog/whats-new-in-cuda-toolkit-13-0-for-jetson-thor-unified-arm-ecosystem-and-more/, NVIDIA Dev Blog

TL;DR

  • CUDA Toolkit 13.0 unifica la herramienta para plataformas Arm, reuniendo equipos de servidor y embebidos bajo un único toolkit; Orin continúa en su ruta actual por ahora.
  • Jetson Thor obtiene Memoria Virtual Unificada (UVM) con coherencia total, mapeo de memoria vía mmap()/cudaMallocManaged() y acceso fluido a la memoria paginable del host desde la GPU.
  • Compartición de GPU y gestión de recursos mejoran la eficiencia de cargas multi-proceso: MPS, contextos verdes y MIG como capacidades futuras para asignaciones deterministas de SM.
  • Herramientas de desarrollo e interoperabilidad se amplían con nvidia-smi y NVML, OpenRM y dmabuf, además de soporte NUMA en Tegra.

Contexto y antecedentes

CUDA Toolkit 13.0 para Jetson Thor se basa en la arquitectura de GPU NVIDIA Blackwell e introduce un toolkit unificado para plataformas Arm. Esta unificación elimina la necesidad de mantener toolchains separados para dispositivos de servidor SBSA y sistemas embebidos de próxima generación como Thor (con la excepción de Orin, que permanece en su ruta actual). El cambio abre ganancias de productividad significativas al permitir compilar una vez, simular en entornos de alto rendimiento (p. ej., GB200, DGX Spark) y desplegar el mismo binario en hardware embebido sin cambios en el código. La unificación también se extiende a contenedores, consolidando los linajes de imágenes y reduciendo la carga de CI, al tiempo que mejora la portabilidad entre generaciones de GPU y plataformas. La unificación de herramientas y contenedores facilita el uso simultáneo de iGPU y dGPU en plataformas Jetson e IGX, proporcionando una experiencia de cómputo edge más fluida y eficiente para aplicaciones de IA.

Qué hay de nuevo

CUDA 13.0 presenta varias capacidades para Jetson Thor y sistemas basados en Arm:

  • Toolkit unificado para Arm: un único toolkit CUDA para plataformas de servidor y embebidas; Orin permanece en su ruta actual por ahora.
  • Memoria Virtual Unificada (UVM) con coherencia total: Jetson Thor expone memoria paginable del host a través de las tablas de páginas del host, con cudaDeviceProp::pageableMemoryAccessUsesHostPageTables = 1. La memoria asignada por mmap() o malloc() puede ser utilizada directamente por la GPU; las asignaciones CUDA (cudaMallocManaged()) reportan concurrentManagedAccess = 1, permitiendo concurrencia CPU-GPU. Las asignaciones CUDA no están en caché por la GPU en esta versión.
  • Flujo de memoria de ejemplo: mapear un archivo con mmap() y usar ese puntero como entrada para un kernel GPU (p. ej., histograma); la salida también se mapea, manteniéndose en caché L2 de la GPU, sin llamadas cudaMemcpy().
  • Compartición y programación de la GPU: MPS permite que múltiples procesos compartan la GPU simultáneamente, consolidando cargas en un único contexto para mejorar ocupación y rendimiento, sin cambios en el código de la aplicación.
  • Contextos verdes y MIG: contextos ligeros preasignan recursos de SM para garantizar ejecución determinista; usados con MPS para permitir ejecución concurrente entre procesos con asignaciones de SM no superpuestas. MIG se menciona como funcionalidad futura para particionar la GPU en slices aislados.
  • Herramientas y monitoreo: soporte de nvidia-smi y NVML para mayor visibilidad y control en Jetson Thor; algunas consultas avanzadas siguen no disponibles.
  • OpenRM y interoperabilidad dmabuf: CUDA puede importar y exportar buffers dmabuf mediante la API de Interoperabilidad de Recursos Externos; dmabuf está disponible en plataformas OpenRM compatibles; verifique compatibilidad con cuDeviceGetAttribute(CU_DEVICE_ATTRIBUTE_HOST_ALLOC_DMA_BUF_SUPPORTED).
  • NUMA para Tegra: NUMA facilita el control explícito de colocación de memoria en sistemas multi-socket, mejorando la portabilidad y el rendimiento para aplicaciones NUMA.

Por qué importa (impacto para desarrolladores/empresas)

La unificación del toolkit CUDA para Arm simplifica el desarrollo, las pruebas y las canalizaciones de CI. Los desarrolladores pueden compilar una vez, simular en entornos de alto rendimiento y desplegar el mismo binario en destinos embebidos como Jetson Thor, reduciendo duplicación de esfuerzos y carga de CI. Una fuente única de verdad para builds entre simulación y edge mejora la consistencia y la portabilidad a medida que evolucionan las generaciones de GPU. UVM con coherencia total facilita flujos de datos CPU-GPU, mientras que MPS, contextos verdes y MIG ofrecen vías para mejorar la utilización de la GPU y el rendimiento en tiempo real en robótica y otros workloads de borde.

Detalles técnicos o Implementación

  • Herramientas y contenedores unificados: CUDA 13.0 unifica el toolkit para plataformas SBSA y embebidas; Orin es la excepción.
  • Memoria Virtual Unificada (UVM) en Jetson: Jetson Thor expone memoria paginable del host a través de las tablas de páginas del host, con cudaDeviceProp::pageableMemoryAccessUsesHostPageTables = 1. La memoria asignada por mmap() o malloc() puede ser utilizada por la GPU; cudaMallocManaged() reporta concurrentManagedAccess = 1. Las asignaciones CUDA no están en caché por el GPU.
  • Flujo de memoria de ejemplo: mapear un archivo con mmap() y usarlo como entrada para un kernel; la salida se mapea de forma similar, manteniéndose en caché L2 de la GPU sin cudaMemcpy().
  • MPS: dos binarios—nvidia-cuda-mps-control y nvidia-cuda-mps-server—y el servicio permite que múltiples procesos compartan la GPU en un único contexto, mejorando ocupación y rendimiento. Para usar, inicie el daemon, ejecute las aplicaciones como clientes MPS con directorios de tubería/log compartidos y detenga con los comandos adecuados. La variable de entorno CUDA_MPS_ACTIVE_THREAD_PERCENTAGE puede influir en el comportamiento.
  • Contextos verdes y SM: contextos ligeros preasignan SM para ejecución determinista. Con MPS, varios procesos pueden ejecutarse en paralelo con asignaciones SM no superpuestas, siempre que CUDA_MPS_ACTIVE_THREAD_PERCENTAGE esté correctamente configurada. Ejemplos de uso incluyen combinar con MIG para cargas de robótica en tiempo real (SLAM, detección y planificación de movimiento).
  • MIG (Multi-Instance GPU): mencionado como funcionalidad futura para particionar la GPU en slices aislados para rendimiento determinista.
  • Herramientas de NVIDIA para monitoreo: nvidia-smi y NVML proporcionan visibilidad y métricas en Jetson Thor; consultas más profundas (clock/power/thermal; uso por proceso; monitoreo de memoria SoC) aún no disponibles.
  • OpenRM y dmabuf: importar dmabuf en memoria CUDA mediante la API de Interoperabilidad de Recursos Externos; exportar mediante cuMemGetHandleForAddressRange() en plataformas OpenRM compatibles. Verifique compatibilidad con cuDeviceGetAttribute(CU_DEVICE_ATTRIBUTE_HOST_ALLOC_DMA_BUF_SUPPORTED).
  • NUMA: NUMA ayuda a optimizar la colocación de memoria en sistemas con múltiples sockets, mejorando la portabilidad y el rendimiento para aplicaciones NUMA.

Puntos clave

  • CUDA 13.0 unifica el toolkit ARM para Jetson Thor, reduciendo fragmentación de toolchains y contenedores.
  • Memoria Virtual Unificada con coherencia total facilita flujos CPU-GPU sin copias explícitas.
  • MPS, contextos verdes y MIG prometen mejorar la utilización y la determinación en cargas de tiempo real.
  • OpenRM/dmabuf y NUMA amplían interoperabilidad y rendimiento en plataformas.
  • El soporte nvidia-smi/NVML aumenta la visibilidad y el control para implementaciones edge.

Preguntas frecuentes (FAQ)

  • Q: ¿Qué es la herramienta unificada en CUDA 13.0 para Jetson Thor? A: Es la unificación del toolkit CUDA para plataformas Arm, eliminando la necesidad de toolchains separados para servidores y embarcados (Orin mantiene su ruta actual).
  • Q: ¿Cómo impacta la Memoria Virtual Unificada en el desarrollo en Jetson Thor? A: UVM ofrece coherencia entre la memoria de la CPU y la GPU, acceso a memoria paginable del host a través de tablas de páginas del host, y concurrencia CPU-GPU sin copias explícitas; las asignaciones cudaMallocManaged() permiten concurrentManagedAccess = 1, no obstante, las asignaciones no están en caché en la GPU.
  • Q: ¿Qué herramientas ayudan a gestionar y monitorear la GPU en Jetson Thor? A: nvidia-smi y NVML proporcionan visibilidad y métricas; algunas consultas avanzadas aún no están disponibles.
  • Q: ¿Qué opciones de interoperabilidad de memoria existen? A: OpenRM y dmabuf permiten importar y exportar memoria CUDA como descriptores dmabuf a través de la API de Interoperabilidad de Recursos Externos; verifique compatibilidad con cuDeviceGetAttribute(CU_DEVICE_ATTRIBUTE_HOST_ALLOC_DMA_BUF_SUPPORTED).
  • Q: ¿Qué papel juegan MPS, contextos verdes y MIG en esta versión? A: MPS permite compartir la GPU entre múltiples procesos; contextos verdes garantizan asignaciones deterministas de SM; MIG se menciona como funcionalidad futura para particionar la GPU y lograr previsibilidad.

Referencias

More news