IP de hardware configurable Flex Logix para cargas de trabajo de IA y DSP fusiona FPGA, unidades de tensor y software

Noticias

HogarHogar / Noticias / IP de hardware configurable Flex Logix para cargas de trabajo de IA y DSP fusiona FPGA, unidades de tensor y software

Nov 11, 2023

IP de hardware configurable Flex Logix para cargas de trabajo de IA y DSP fusiona FPGA, unidades de tensor y software

Hoy vamos a hablar sobre IA, DSP, FPGA, IP y SoC. Normalmente, estos

Hoy vamos a hablar sobre IA, DSP, FPGA, IP y SoC. Normalmente, estas cosas no van todas juntas. Ciertamente, los FPGA se han utilizado para implementar algoritmos de IA y DSP, aunque los algoritmos de IA y DSP generalmente involucran diferentes tipos de cálculos. (Consulte "Una breve historia del DSP de un solo chip, Parte II".) Los diseños de DSP se han mantenido en gran medida con las implementaciones de FPGA, gracias a la abundancia de multiplicadores/acumuladores (MAC) que ofrecen, mientras que el entrenamiento de IA ha migrado a las GPU. En estos días, la inferencia de IA se ha trasladado a múltiples implementaciones de hardware, incluidas CPU aumentadas, chips dedicados, motores de IA especialmente diseñados para SoC e incluso FPGA. Ahora, Flex Logix ha presentado otra alternativa: IP de hardware configurable que está específicamente diseñada para ejecutar cargas de trabajo de IA y DSP.

Fundada en 2014, Flex Logix no es nueva en IP de hardware configurable. La compañía ha ofrecido mosaicos IP y software EFLEX FPGA integrado (eFPGA) durante casi una década. Según Geoff Tate, cofundador y director ejecutivo de Flex Logix, la empresa ahora tiene varios clientes relacionados con la defensa y más de media docena de clientes comerciales con 23 chips diferentes en producción de alto volumen que incorporan EFLEX eFPGA. Los ejemplos de tales dispositivos van desde un SoC MIMO 5G de gama alta de un cliente anónimo que integra un eFPGA 100K-LUT (tabla de búsqueda) junto con múltiples interfaces digitales de transmisión y recepción para la interfaz de antena MIMO hasta una nueva línea de pequeños y económicos Renesas ForgeFPGA con LUT de 1K a 4K que pueden costar menos de 50 centavos en volumen.

Figura 1: Los Renesas ForgeFPGA pequeños y económicos se basan en Flex Logix FPGA IP y las herramientas de desarrollo se basan en las herramientas proporcionadas por Flex Logix. Crédito de la imagen: Flex Logix

Renesas ForgeFPGA rastrea su linaje hasta los dispositivos Silego, sobre los cuales mi amigo y colega Max Maxfield ha escrito anteriormente. (Consulte "No sucedió mucho, ¿o sí?" y "Renesas anuncia la fabulosa familia ForgeFPGA".) Dialog Semiconductor compró Silego en 2017 y, a su vez, Renesas lo compró en 2021, que es cómo Renesas se convirtió en un proveedor de FPGA. Los peces pequeños son devorados por peces más grandes, que a su vez son devorados por peces aún más grandes.

Los Renesas FPGA proporcionan una versión del software Flex Logix FPGA directamente a los desarrolladores para configurar dispositivos ForceFlex, lo que indica que Flex Logix puede proporcionar software utilizable directamente a los desarrolladores de sistemas. Esa es una capacidad importante al ingresar al mercado de IA, donde desea permitir que los científicos de datos y los programadores sin experiencia en desarrollo de hardware usen sus productos fácilmente.

En muchos sentidos, estos nuevos mosaicos de hardware Flex Logix InferX se remontan a los mosaicos eFPGA de la empresa. Los mosaicos IP de InferX son IP endurecidos, suministrados por Flex Logix a un cliente para un nodo de fabricación de IC específico en una fundición específica. De esta forma, InferX IP es como el EFLEX FPGA IP de la empresa. En el caso de InferX IP, Flex Logix apunta inicialmente al nodo de proceso N5 5nm de TSMC, pero la compañía dice que cualquier proceso FinFET es candidato para esta IP.

Además, los algoritmos de IA y DSP ejecutan una gran cantidad de operaciones de multiplicación/acumulación. Los FPGA, incluidos los mosaicos Flex Logix eFPGA, generalmente proporcionan muchos, muchos multiplicadores/acumuladores para ejecutar todas esas operaciones en tiempo real, pero estos MAC están integrados en el tejido FPGA como las pasas en la deliciosa receta de pudín de arroz del viernes por la noche de mi abuela, que eran relativamente pocos y distantes entre sí. En una FPGA, los MAC reforzados están rodeados por la estructura de interconexión de la FPGA para permitir la creación de cualquier tipo de canalización de ejecución. Sin embargo, los algoritmos de IA y DSP no necesitan ese tipo de flexibilidad (sus canalizaciones de cálculo son mucho más regulares), por lo que la sobrecarga de silicio de las estructuras de enrutamiento de un FPGA es superflua y se puede eliminar. Esa sobrecarga de silicio es significativa y puede llegar al 80% del silicio en el área dentro y alrededor de los MAC según Tate.

En cambio, Flex Logix tomó su diseño de MAC, lo mejoró para operaciones de IA y DSP, y creó una unidad de tensor cableada que interconecta una gran cantidad de MAC con una interconexión reforzada, tal como se diseñaría un SoC. El mosaico de IP de hardware InferX resultante combina cuatro de estas unidades de tensor con cachés SRAM L2 individuales y un eFPGA más bien pequeño que se usa para configurar e interconectar las unidades de tensor, como se muestra en la Figura 2 a continuación.

Figura 2: El mosaico IP de hardware Flex Logix InferX combina cuatro de estas unidades tensoras con un eFPGA pequeño que se usa para configurar e interconectar las unidades tensoras. Crédito de la imagen: Flex Logix

Según Flex Logix, las capacidades computacionales de estos mosaicos InferX se escalan de manera más o menos lineal, de modo que el equipo de desarrollo de SoC puede incorporar un mosaico, cuatro mosaicos, ocho mosaicos y posiblemente más para cumplir con los requisitos de procesamiento del sistema. La Figura 3 a continuación ilustra las capacidades de rendimiento de las instancias InferX de 1, 2, 4 y 8 mosaicos para algunos modelos de IA de uso común.

Figura 3: Los desarrolladores de SoC pueden crear instancias de múltiples mosaicos InferX para lograr el nivel de rendimiento requerido por su aplicación. (Nota: IPS = Inferencias por segundo). Crédito de la imagen: Flex Logix

Como muestra la Figura 3, un solo mosaico InferX puede implementar múltiples modelos de reconocimiento de imágenes de IA con diversos grados de resolución de imagen. Una instanciación de InferX de 2 mosaicos duplica aproximadamente el rendimiento en comparación con una implementación de 1 mosaico, y las instanciaciones de 4 y 8 mosaicos mejoran aún más el rendimiento. Como se puede ver en la Figura 3, a veces el aumento de rendimiento es lineal, a veces es superlineal; ya veces es sublineal. El rendimiento obtenido al aumentar la cantidad de mosaicos de InterX depende de la capacidad de la memoria (una o dos LPDDR5 SDRAM), la saturación de E/S y otros cuellos de botella a nivel del sistema.

El rendimiento del subsistema requerido varía según la aplicación final, por supuesto. Un automóvil de carreras que viaja a 200 MPH tiene requisitos de rendimiento de procesamiento de imágenes mucho más exigentes en términos de inferencias por segundo (IPS) que un robot de entrega que se mueve a unas pocas millas por hora. Tenga en cuenta que las especificaciones de rendimiento que se muestran en la Figura 3 son para imágenes procesadas por segundo (IPS) en lugar de los números TOPS (billones de operaciones por segundo) que otros proveedores usan como proxy para el rendimiento real de la IA. Esto se debe a que los mosaicos de InferX están diseñados y configurados para tareas dedicadas en tiempo real en equipos integrados, por lo que se escalan y programan/configuran en consecuencia. Tate dice que si el cliente potencial comienza a preguntar sobre TOPS, entonces el vendedor probablemente esté hablando con el cliente potencial equivocado. Según Tate, es el rendimiento de modelos de IA específicos lo que es importante para los SoC que son candidatos para mosaicos InferX.

El software que Flex Logix proporciona a los clientes de InferX no expone la configuración de FPGA ni la programación del motor de tensor directamente a los desarrolladores. En cambio, el desarrollador comienza con un modelo de IA entrenado dentro de un marco de aprendizaje automático como Caffe, TensorFlow, PyTorch o mxnet. Todos estos modelos de IA entrenados emplean aritmética de punto flotante, que no es necesaria para la inferencia, por lo que el primer paso para convertir el modelo de IA para usar con el mosaico InferX es un cuantificador de modelo, que convierte los valores de punto flotante en números enteros de 8 bits. . Después de eso, un compilador de gráficos y un compilador de operadores asignan el modelo a la arquitectura InferX para emitir una configuración de tiempo de ejecución de InferX, que la compañía llama "Softlogic", y un software de controlador con llamadas API. Debido a que la IP del hardware InferX es configurable, los modelos de IA se pueden cambiar por otros nuevos en microsegundos, de manera similar al uso de superposiciones de software para microprocesadores. En conjunto, la compañía llama colectivamente al mosaico InferX y al software de IA "InferX AI".

Por ahora, las aplicaciones de IA pueden obtener la mayor parte de la prensa y la publicidad, pero Flex Logix descubrió que el uso principal de sus mosaicos InferX en este momento es para los algoritmos DSP, que también necesitan ejecutar una gran cantidad de MAC. Por lo tanto, la compañía ha creado un paquete similar de mosaicos InferX y software DSP, llamado convenientemente "InferX DSP". Según Tate, el mercado principal para InferX DSP es el reemplazo de dispositivos Xilinx, específicamente Xilinx Versal FPGA y Zynq SoC y MPSoC, que combinan CPU Arm con tejido Xilinx FPGA. Si una empresa ya está haciendo el esfuerzo y el gasto de diseñar un SoC para reemplazar estos dispositivos Xilinx listos para usar, existe un ahorro potencial de costos al incorporar uno o más mosaicos InferX en el SoC para realizar los MAC.

Flex Logix proporciona software de alto nivel que implementa algoritmos DSP populares como FFT, filtros FIR e inversiones de matrices complejas. Tanto para InferX AI como para InferX DSP, el bloque de IP resultante se ejecuta como un acelerador esclavo, conectado a través de una interfaz AXI. Debido a la naturaleza del DSP, Flex Logix también puede proporcionar una interfaz de transmisión de dos puertos al mosaico InferX. Debido a que la mayoría de los clientes de DSP ya saben qué algoritmos necesitan sus diseños, el ciclo de diseño general de SoC es actualmente mucho más corto para los diseños que usan InferX DSP, en comparación con InferX AI, dijo Tate.