La CPU NVIDIA Grace está transformando el diseño de los centros de datos al ofrecer un nuevo nivel de rendimiento con eficiencia energética.
Creada específicamente para la escala de los centros de datos, la CPU Grace está diseñada para manejar cargas de trabajo exigentes y consumir menos energía.
NVIDIA cree en el beneficio de aprovechar las GPU para acelerar cada carga de trabajo. Sin embargo, no todas las cargas de trabajo se aceleran. Esto es especialmente cierto para aquellas cargas de trabajo que involucran código complejo y ramificado, como el análisis de gráficos, que se usa comúnmente en casos de uso populares como la detección de fraudes, la optimización operativa y el análisis de redes sociales.
A medida que los centros de datos enfrentan limitaciones energéticas cada vez mayores, es fundamental acelerar tantas cargas de trabajo como sea posible y ejecutar el resto con la computación más eficiente posible. La CPU Grace está optimizada para manejar tanto tareas aceleradas como tareas que solo requieren CPU, y ofrece hasta el doble de rendimiento con el mismo consumo de energía que las CPU convencionales.
La CPU Grace cuenta con 72 núcleos Arm Neoverse V2 de alto rendimiento y bajo consumo de energía, conectados por NVIDIA Scalable Coherency Fabric (SCF). Esta estructura de gran ancho de banda garantiza un flujo de datos fluido entre los núcleos de la CPU, la memoria caché, la memoria y la E/S del sistema, lo que proporciona hasta 3,2 TB/s de ancho de banda de bisección, el doble que las CPU tradicionales.
La CPU Grace también utiliza memoria LPDDR5X de alta velocidad con confiabilidad de clase servidor, entregando hasta 500 GB/s de ancho de banda de memoria mientras consume solo una quinta parte de la energía de la memoria DDR tradicional.
En esta publicación, queríamos compartir cómo la CPU Grace se basa en el ecosistema Arm existente y, al mismo tiempo, aprovecha la amplia gama de software y herramientas de NVIDIA.
Infraestructura de software estándar
La CPU Grace fue diseñada para ser una CPU de propósito general equilibrada y funcionar como cualquier otra CPU. El flujo de trabajo para ejecutar software en la CPU Grace es el mismo que usarías en cualquier CPU x86. Las distribuciones estándar de Linux (Ubuntu, RHEL, SLES, etc.) y cualquier compilador multiplataforma de código abierto (GCC, LLVM, etc.) son compatibles con la CPU Grace.
La mayoría del software de código abierto actual ya es compatible con Arm y, por lo tanto, con la CPU Grace. De manera similar, cualquier optimización y adaptación de software realizada en la CPU Grace también funciona en el resto del ecosistema de software Arm Neoverse.
NVIDIA continúa trabajando con desarrolladores y socios en el ecosistema Arm y se compromete a garantizar que los compiladores, bibliotecas, marcos, herramientas y aplicaciones de código abierto aprovechen al máximo las CPU basadas en Arm Neoverse, como la CPU Grace.
Muchas aplicaciones de ISV comerciales y nativas de la nube ya ofrecen ejecutables optimizados para Arm. El centro para desarrolladores de Arm ofrece una muestra de paquetes de software seleccionados para IA, nube, centro de datos, 5G, redes y edge. Este centro también ofrece orientación sobre cómo migrar aplicaciones a Arm.
Este ecosistema está habilitado por los estándares de Arm, como la Arquitectura del sistema base del servidor Arm (SBSA) y los Requisitos de arranque base (BBR) del Programa de certificación Arm SystemReady.
El software de NVIDIA es compatible con el ecosistema Arm
Arm ha invertido durante décadas en el ecosistema de software. Puede innovar y saber que el software no solo funciona, sino que también está optimizado para Arm. El ecosistema de software de NVIDIA también aprovecha décadas de trabajo en computación acelerada y ahora se ha optimizado para Arm:
- El NVIDIA HPC SDK y cada componente CUDA tienen instaladores y contenedores nativos de Arm .
- El ecosistema de contenedores de NVIDIA de microservicios NVIDIA NIM y NGC ofrece aprendizaje profundo, aprendizaje automático y contenedores de HPC optimizados para Arm. NVIDIA NIM mejora el rendimiento de inferencia, lo que permite una IA de alto rendimiento y baja latencia a escala.
NVIDIA también está ampliando su ecosistema de software para CPU Arm. NVIDIA lanzó anteriormente un nuevo conjunto de bibliotecas matemáticas de alto rendimiento para CPU Arm llamadas NVIDIA Performance Libraries (NVPL) . Estas bibliotecas implementan API estándar, lo que hace que su adopción sea un reemplazo sencillo de x86 en la etapa de vinculación.
De manera similar, las bibliotecas matemáticas como la biblioteca de rendimiento de Arm (ArmPL) también están optimizadas para maximizar el rendimiento de la CPU Grace además de cualquier otra CPU de Arm. Por ejemplo, Arm ha compartido cómo ArmPL Sparse se puede utilizar de manera similar a x86 . ArmPL tiene API similares a las de las bibliotecas matemáticas x86, lo que significa que desarrollar un contenedor puede requerir solo unos pocos cambios de API en el código.
NVIDIA es un participante activo en las comunidades de software de código abierto, como las de los compiladores GCC y LLVM. Si no desea esperar a que se publiquen estos lanzamientos regulares y desea crear código que funcione de manera óptima en la CPU Grace, las optimizaciones más recientes también están disponibles a través de la distribución Clang .
Traslada tu software a Arm sin problemas
El ecosistema de software Arm es grande y está en crecimiento, con cientos de proyectos de código abierto y proveedores de software independientes comerciales que ya admiten la arquitectura Arm. Si su aplicación aún no es compatible, es posible que deba volver a compilar el código fuente. Hay una variedad de herramientas disponibles para ayudarlo a hacerlo:
- NVIDIA LaunchPad tiene un módulo para portar a Arm que puedes probar tú mismo.
- Para los intrínsecos vectoriales, como AVX, existen herramientas que simplifican la conversión. SIMD Everywhere y la sesión A Demonstration of AI and HPC Applications for NVIDIA Grace CPU GTC repasan varios ejemplos.
- La descripción general de la migración de Arm Neoverse contiene capacitación detallada.
Para obtener más información sobre la optimización y la portabilidad de aplicaciones, consulte la Guía de ajuste del rendimiento de NVIDIA Grace . Incluye instrucciones para configurar y optimizar el rendimiento de la CPU Grace. También proporciona orientación de alto nivel para desarrolladores sobre la programación de SIMD de Arm, el modelo de memoria de Arm y otros detalles. Utilice esta guía para obtener el mejor rendimiento posible para su sistema NVIDIA Grace en particular.

Resumen
La CPU NVIDIA Grace está diseñada para el centro de datos moderno con 72 núcleos Arm Neoverse V2 de alto rendimiento, un SCF de alto ancho de banda diseñado por NVIDIA para maximizar el rendimiento y una memoria de bajo consumo de alto ancho de banda. Puede ofrecer hasta el doble de rendimiento con el mismo consumo de energía que las principales CPU x86 tradicionales.
La CPU NVIDIA Grace es un diseño Arm SBSA basado en estándares que funciona como cualquier otra CPU y es totalmente compatible con el amplio ecosistema de software Arm.
Para obtener más información sobre el software y la configuración del sistema, consulte CPU NVIDIA Grace . NVIDIA Blog. I. G. y D. A. Traducido al español