NVIDIA ha anunciado el lanzamiento de NVSHMEM 3.0, la última versión de su interfaz de programación paralela diseñada para facilitar la comunicación eficiente y escalable para los clústeres de GPU NVIDIA. Esta actualización, parte de NVIDIA Magnum IO y basada en OpenSHMEM, tiene como objetivo mejorar la portabilidad y compatibilidad de las aplicaciones en varias plataformas, según el Blog técnico de NVIDIA.
Nuevas funciones y compatibilidad con la interfaz
NVSHMEM 3.0 presenta varias características nuevas, entre ellas, compatibilidad con múltiples nodos e interconexiones, compatibilidad con versiones anteriores de ABI de dispositivo host y InfiniBand GPU Direct Async (IBGDA) asistida por CPU.
Compatibilidad con múltiples nodos e interconexiones
La nueva versión admite la conectividad entre varias GPU dentro de un nodo a través de interconexiones P2P, como NVIDIA NVLink/PCIe, y entre nodos mediante interconexiones RDMA como InfiniBand y RDMA over Converged Ethernet (RoCE). Esta mejora incluye compatibilidad con plataformas para varios racks de sistemas NVIDIA GB200 NVL72 conectados a través de redes RDMA.
Compatibilidad con versiones anteriores de ABI del dispositivo host
NVSHMEM 3.0 introduce compatibilidad con versiones anteriores entre versiones menores, lo que permite que las aplicaciones vinculadas a una versión anterior de NVSHMEM se ejecuten en sistemas con versiones más nuevas. Esta característica facilita actualizaciones más fluidas y reduce la necesidad de volver a compilar las aplicaciones con cada nueva versión.
InfiniBand asistida por CPU GPU asíncrona directa
La última versión también es compatible con IBGDA asistida por CPU, que divide las responsabilidades del plano de control entre la GPU y la CPU. Este enfoque ayuda a mejorar la adopción de IBGDA en plataformas no coherentes y relaja las restricciones de configuración a nivel administrativo en clústeres de gran escala.
Soporte sin interfaz y mejoras menores
NVSHMEM 3.0 incluye mejoras menores y soporte no relacionado con la interfaz, como:
Marco de programación orientada a objetos para el montículo simétrico
Esta versión presenta un marco de programación orientada a objetos (OOP) para administrar distintos tipos de montículos simétricos, incluida la memoria estática y dinámica de dispositivos. El marco OOP simplifica la extensión a funciones avanzadas y mejora la encapsulación de datos.
Mejoras de rendimiento y corrección de errores
NVSHMEM 3.0 trae varias mejoras de rendimiento y correcciones de errores, incluidas mejoras en la configuración de IBGDA, reducciones en el dispositivo con alcance de bloque, operación de memoria atómica (AMO) con alcance de sistema y administración de equipos.
Resumen
El lanzamiento de NVSHMEM 3.0 marca una importante actualización en la interfaz de programación paralela de NVIDIA. Las características clave, como la compatibilidad con múltiples interconexiones de nodos múltiples, la compatibilidad con versiones anteriores de ABI de dispositivos host y la IBGDA asistida por CPU, tienen como objetivo mejorar la comunicación de la GPU y la portabilidad de las aplicaciones. Los administradores y desarrolladores ahora pueden actualizar a versiones más nuevas de NVSHMEM sin interrumpir las aplicaciones existentes, lo que garantiza transiciones más fluidas y un mejor rendimiento en clústeres de GPU a gran escala.
Fuente de la imagen: Shutterstock