En la informática moderna, le pese a quien le pese, se utilizan siglas para casi todo… CPU, GPU, APU… y una de estas siglas que está comenzando a utilizarse cada vez más es IPU, que es la abreviatura de Intelligence Processing Unit o unidad de procesamiento de inteligencia. En este artículo te vamos a contar qué es y para qué sirve una IPU, además de contarte en qué escenarios se utiliza.
Aunque muchos nombres «vienen puestos» por la función que realiza el producto en cuestión, al final es quien fabrica un nuevo tipo de dispositivo el que escoge el nombre que se le pone, pero una vez establecido dicho nombre y cuando se comienza a utilizar de forma generalizada es cuando cobra importancia. En el caso de las IPU, estamos ante un producto que es precisamente de los que vienen ya con nombre por la función que desempeñan, y aunque seguramente ya sabréis por dónde van los tiros una vez que conocéis qué significan las siglas, vamos a entrar en materia.
¿Qué es una IPU y cómo funciona?
Como hemos mencionado antes, IPU son las siglas de Intelligence Processing Unit o unidad de procesamiento de inteligencia, que como su nombre sugiere está diseñado para la inteligencia artificial y, más concretamente, se trata de un procesador en sí mismo diseñado para esta finalidad. Igual que una GPU es como una CPU pero diseñada para gráficos, una IPU es una CPU diseñada para inteligencia artificial.
Así, una IPU es un procesador diseñado para procesamiento paralelo (es decir, que está diseñado para que varios funcionen de manera simultánea) con el objetivo de acelerar los sistemas de Inteligencia Artificial. Desde la primera generación de IPUs (Colossus) se han desarrollado numerosos avances en computación, y en la segunda generación se ha logrado aumentar el rendimiento en un 800%.
Sus creadores presumen que, de hecho, una IPU es el procesador más complejo desarrollado hasta la fecha, mucho más que los procesadores de PC o servidor que conocemos.
Como podéis ver en el diagrama de arriba, que corresponde a la IPU Colossus MK2 GC200, cada «procesador» incorpora en total 1472 IPUs independientes, cada una con un núcleo y su propia memoria dedicada, por lo que hablamos en este caso de un procesador con 1472 núcleos que en total son capaces de generar 8832 hilos de proceso en paralelo, o lo que es lo mismo, cada núcleo tiene seis hilos de proceso o, dicho de otra manera, cada núcleo es capaz de ejecutar seis instrucciones simultáneamente.
Por cada IPU se incorporan 900 MB de memoria con un ancho de banda de nada menos que 47,5 TB/s, y además utiliza la interfaz PCI-Express 4.0 x16 para poder manejar este abrumador ancho de banda.
¿Para qué sirven las IPUs?
Toda esta ingente capacidad de proceso está evidentemente diseñada como hemos dicho para sistemas de Inteligencia Artificial, es decir, van integrados en sistemas concretos y para un propósito específico. Tanto es así que estas IPUs se integran en realidad como coprocesadores, ya que no son capaces de funcionar de manera autónoma (igual que una GPU no puede hacer las veces de CPU porque no tiene los conjuntos de instrucciones necesarios).
Y es que estos procesadores tienen formato de tarjeta de expansión o tarjeta aceleradora, y como hemos mencionado antes se conectan a un puerto de la placa base mediante un zócalo PCI-Express 4.0 x16.
Así pues, su utilización es precisamente para acelerar sistemas de Inteligencia Artificial con núcleos dedicados para ello, y por el momento no sirven para nada más. No obstante, como bien sabéis todo el tema del Deep Learning, Machine Learning e Inteligencia Artificial está ya no solo a la orden del día, sino que está cada vez más en auge, por lo que cada vez nos vamos a encontrar el término IPU más frecuentemente.