Núcleos SiFive RISC-V elegidos para los nodos de cómputo de Google AI

Nodo de origen: 1684403

El negocio de chips RISC-V SiFive dice que sus procesadores se están utilizando para administrar cargas de trabajo de IA hasta cierto punto en los centros de datos de Google.

Según SiFive, el procesador en cuestión es su Inteligencia X280, un diseño RISC-V multinúcleo con extensiones vectoriales, optimizado para aplicaciones AI/ML en el centro de datos. Cuando se combina con las unidades de multiplicación de matrices (MXU) extraídas de las Unidades de procesamiento de tensores de Google (TPU), se afirma que esto ofrece una mayor flexibilidad para programar cargas de trabajo de aprendizaje automático.

Esencialmente, los núcleos RV280 de uso general del X64 en el procesador ejecutan el código que administra el dispositivo y alimenta los cálculos de aprendizaje automático en las MXU de Google según sea necesario para completar los trabajos. El X280 también incluye su propia unidad matemática vectorial que puede manejar operaciones que las unidades aceleradoras no pueden.

SiFive y Google fueron un poco tímidos, quizás por razones comerciales, acerca de cómo se empaqueta y usa exactamente esto, aunque nos parece que Google ha colocado sus unidades de aceleración personalizadas en un sistema en chip X280 de múltiples núcleos, conectando el Bloques MXU diseñados por Google directamente al complejo central RISC-V. Estos chips se utilizan en los centros de datos de Google, en "hosts informáticos de IA" según SiFive, para acelerar el trabajo de aprendizaje automático.

Imaginamos que si estos se usan en producción, estos chips están manejando tareas dentro de los servicios. Notamos que no puede alquilar este hardware directamente en Google Cloud, que ofrece máquinas virtuales optimizadas para IA con tecnología tradicional x86, Arm, TPU y GPU.

Los detalles se dieron a conocer en la Cumbre de hardware de IA en Silicon Valley a principios de este mes, en una charla del cofundador y arquitecto jefe de SiFive, Krste Asanović, y el arquitecto de Google TPU, Cliff Young, y en una Publicación de blog de SiFive esta semana.

Según SiFive, notó que luego de la introducción del X280, algunos clientes comenzaron a usarlo como un núcleo complementario junto con un acelerador, para manejar todas las tareas de procesamiento de limpieza y uso general para las que el acelerador no fue diseñado.

Muchos descubrieron que se necesitaba una pila de software con todas las funciones para administrar el acelerador, dice el negocio de chips, y los clientes se dieron cuenta de que podían resolver esto con un complejo de núcleo X280 junto a su gran acelerador, los núcleos de CPU RISC-V manejan todo el mantenimiento y código de operaciones, realizando operaciones matemáticas que el gran acelerador no puede y proporcionando varias otras funciones. Esencialmente, el X280 puede servir como una especie de nodo de gestión para el acelerador.

Para sacar provecho de esto, SiFive trabajó con clientes como Google para desarrollar lo que llama la Extensión de la interfaz del coprocesador vectorial (VCIX), que permite a los clientes vincular estrechamente un acelerador directamente al archivo de registro vectorial del X280, proporcionando un mayor rendimiento y más datos. banda ancha.

Según Asanović, el beneficio es que los clientes pueden traer su propio coprocesador al ecosistema RISC-V y ejecutar una pila de software y un entorno de programación completos, con la capacidad de iniciar Linux con memoria virtual completa y soporte coherente de caché, en un chip que contiene un combinación de núcleos de CPU de propósito general y unidades de aceleración.

Desde el punto de vista de Google, quería centrarse en mejorar su familia de tecnologías de TPU y no perder el tiempo creando su propio procesador de aplicaciones desde cero, por lo que combinar estas funciones de aceleración con un procesador de uso general listo para usar parecía la forma correcta. ir, según Young.

VCIX esencialmente une las MXU a los núcleos RISC-V con baja latencia, evitando la necesidad de pasar muchos ciclos esperando para transferir datos entre la CPU y la unidad de aceleración a través de la memoria, caché o PCIe. En cambio, se nos dice, son solo decenas de ciclos a través del acceso al registro vectorial. Eso también sugiere que todo, el complejo de CPU RISC-V y los aceleradores personalizados, están todos en el mismo chip, empaquetados como un sistema en chip.

El código de la aplicación se ejecuta en los núcleos RISC-V de propósito general, y cualquier trabajo que MXU pueda acelerar se pasa a través de VCIX. Según Young, existen otras ventajas de este enfoque además de la eficiencia. El modelo de programación se simplifica, lo que da como resultado un solo programa con instrucciones escalares, vectoriales y de coprocesador intercaladas, y permite una cadena de herramientas de software única donde los desarrolladores pueden codificar en C/C++ o en ensamblador, según prefieran.

“Con los núcleos de propósito general basados ​​en SiFive VCIX 'hibridados' con Google MXU, puede construir una máquina que le permita 'tener su pastel y comérselo también', aprovechando al máximo todo el rendimiento del MXU y la programabilidad de un general CPU, así como el rendimiento vectorial del procesador X280”, dijo Young.

Es probable que la capacidad de hacer un chip personalizado como este siga siendo dominio de los hiperescaladores como Google, o de aquellos con requisitos de nicho y bolsillos profundos, pero demuestra lo que se puede lograr gracias a la flexibilidad del modelo RISC-V de ecosistema abierto. .

Esa flexibilidad y apertura parecen ser suficientes para atraer a Google, un partidario de RISC-V desde hace mucho tiempo, con núcleos RV utilizados en algunos de sus otros productos, para que use la arquitectura advenediza en lugar de calzar sus coprocesadores personalizados en chips x86 o Arm. -diseños con licencia. ®

PS: ¿Recuerdas cuando Google era jugando con el uso de la arquitectura POWER CPU en sus centros de datos?

Sello de tiempo:

Mas de El registro