COMPUTACIÓN CUÁNTICA Y NEUROMÓRFICA EN FPGA

 

 

La unidad de computación neuromórfica realiza el grueso de su trabajo en el ámbito de la ingeniería con Field-Programmable Gate Array (FPGA). Las FPGAs son chips altamente especializados, cuya mayor distinción es contener circuitos digitales reconfigurables. Esto quiere decir que una FPGA programada contiene físicamente un circuito digital determinado por el programador.

Con estos dispositivos somos capaces de aprovechar las ventajas que ofrece la arquitectura neuromórfica, ya que sus beneficios dependen de producir circuitos digitales concretos, que sean capaces, por ejemplo, de realizar lo que se conoce como computación por eventos. Este tipo de cómputo no es popular en la industria de fabricación de chips para cómputo, pero es fundamental para poder aprovechar las ventajas de las arquitecturas neuromórficas.

Además, las FPGAs se utilizan en multitud de aplicaciones donde ningún otro tipo de chip puede competir (radios definidas por software, procesamiento de señal, fusión de sensores, etc.). La programación de FPGAs es una tarea muy especializada: Requiere de conocimiento de lenguajes de programación específico así como las herramientas de los fabricantes de FPGA, y la metodología de depuración de los diseños es también única.

El grupo de investigación de computación cuántica de ITCL se dedica al desarrollo de algoritmos en computación cuántica e inspiración cuántica para casos industriales. El objetivo principal es la aceleración y mejora de cálculos, ciencia de datos y simulaciones de sistemas físicos mediante nuevos tipos de computación.

Una de sus principales ramas de aplicación es la predicción de Características en series dinámicas temporales y materiales mediante técnicas de inspiración en Computación cuántica. Otra de nuestras ramas de especialización son la Compresión tensorial de modelos de IA Especialidades en LLMs y Traductores. Además, también se profundiza en simulación de materiales mediante algoritmos variacionales cuánticos y técnica de inspiración cuántica

ITCL dispone de un laboratorio de computación cuántica, en colaboración con la Universidad de Burgos, para el desarrollo de nuevas tecnologías. Además, cuenta con un simulador de circuitos cuánticos, y está trabajando en un nuevo simulador de 34 qubits protegido con criptografía post-cuántica. Este equipo permitirá al grupo realizar una investigación profunda en el diseño de nuevos algoritmos cuánticos y en tensor networks.

NUESTRO EQUIPO EN COMPUTACIÓN NEUROMÓRFICA

El equipo integra perfiles de ingeniería, informática, automatización y diseño, así como expertos en transferencia de tecnología.

Erik Skibinsky Gitlin

Responsable de desarrollos FPGA 

Doctor en física por la Universidad de Granada y tiene 4 años de experiencia en desarrollo con FPGAs. Actualmente lidera el grupo de computación neuromórfica y FPGA, donde se especializa en el diseño y optimización de arquitecturas avanzadas para aplicaciones en computación neuromórfica, encriptación post-cuántica y procesamiento de señales. Su trabajo abarca desde la implementación de modelos neuronales en FPGA hasta la exploración de nuevas estrategias para mejorar la eficiencia computacional en sistemas neuromórficos. Además, cuenta con experiencia en programación en VHDL, HLS, Linux empotrado, C/C++ y Python.

 

NUESTRO EQUIPO EN COMPUTACIÓN CUÁNTICA

El área está formada por investigadores altamente cualificados que buscan la innovación en un proceso continuo de aprendizaje y desarrollo.

Alejandro Mata Ali

Coordinador de la Unidad de Computación Cuántica

Graduado en Física y Máster en Física Nuclear y de Partículas. Coautor de artículos científicos en el ámbito de las tensor networks, la computación cuántica digital y la optimización combinatoria cuántica.

Especialista en tensor networks y computación cuántica digital, con experiencia en la creación e implementación de nuevos algoritmos tensoriales y cuánticos. Sus principales líneas de investigación incluyen la optimización combinatoria, la inteligencia artificial, la ciberseguridad cuántica y la detección de anomalías.

CAPACIDADES DE COMPUTACIÓN NEUROMÓRFICA

Diseño high level synthesis (HLS) para el prototipado rápido de soluciones FPGA

La metodología HLS consiste en producir diseños para FPGA o Application-Specific Integrated Circuit (ASIC) partiendo de una descripción en C/C++. Esta descripción viene acompañada de un archivo de prueba o testbench. La ventaja de HLS radica en que el diseño, al poderse compilar como un programa más, se puede depurar más fácilmente que su contraparte Hardware Description Languages (HDL). Otra ventaja es la falta de fallos, ya que la metodología HLS asegura que el diseño, una vez simulado y obtenidos los resultados que se desea, no tiene casos límite en los que el comportamiento sea incorrecto.

Diseño tradicional FPGA (HDL) con VHDL

HLS (High Level Synthesis) tiene una limitación importante, y es que es adecuado siempre y cuando el diseño se pueda describir como un algoritmo (por ejemplo, una serie de cálculos matemáticos uno detrás de otro. Además, la organización del diseño estará muy influenciado por el propio algoritmo.

Esto es algo que puede ser indeseable si el algoritmo es demasiado complejo. Para estos casos, se necesita hacer uso del flujo clásico para el diseño en FPGA/ASIC. VHDL es el lenguaje de elección de entidades como la agencia espacial europea y es el más popular en Europa.

Depuración con técnicas modernas (VUnit, cocotb, vscode, etc.)

El desarrollo con lenguajes HDL, al servir éste únicamente para el diseño FPGA y ASIC, ha estado muy ligado a las herramientas de los fabricantes. Esto hace que en la industria haya un problema de eficiencia a la hora de desarrollar en este tipo de lenguajes. Ejemplos de ello serían entornos de desarrollo arcaicos, falta de integración con lenguajes de alto nivel como Python, codesarrollo (hay proyectos polifacéticos que requieren de hardware + driver + desarrollo PCB) costoso, etc. Esas ineficiencias pueden requerir de una parte significativa de las horas presupuestadas, aumentando el costo y reduciendo la competitividad.

Esto ha producido que haya iniciativas de código abierto para agilizar el desarrollo en este área. En ITCL nos actualizamos continuamente para continuar siendo punteros y competitivos en estas tecnologías.

Integración continua

La integración continua implica la capacidad de tener tests automatizados y de calidad que se ejecuten con cada introducción de código nuevo. Esto permite asegurar que el código introducido es correcto y que no contiene fallos

Linux empotrado y baremetal

Los diseños en FPGA rara vez están aislados. Normalmente se necesita que interactúen con un sistema informático completo. Para ello, además de comprender en profundidad la arquitectura, es necesario crear un programa que haga de interfaz entre el diseño FPGA y el servicio que se pretende dar. Existen dos modalidades: en baremetal se trabaja sin sistema operativo, mientras que con Linux empotrado se está trabajando con el sistema operativo Linux. Cada modalidad trae sus ventajas e inconvenientes y el grupo es capaz de trabajar en ambas y elegir la que más convenga al proyecto.

CAPACIDADES DE COMPUTACIÓN CUÁNTICA

Machine Learning cuántico

El machine learning cuántico busca aprovechar la capacidad de los sistemas cuánticos para operar en espacios de datos exponencialmente grandes, con el objetivo de mejorar la eficiencia y obtener resultados óptimos en tareas de aprendizaje automático.

Tensor Networks

Tecnología de inspiración cuántica con la que ITCL tiene amplia experiencia. Permite comprimir información y optimizar cálculos, facilitando la simulación de sistemas cuánticos, el análisis de datos y la eficiencia en modelos de IA.

Análisis de datos cuántico

Análisis de datos usando algoritmos cuánticos o inspirados en la cuántica, mediante embeddings cuánticos y compresiones tensoriales para representar información compleja de forma eficiente.

Optimización combinatoria

Clave para optimizar la productividad industrial (almacenamiento y reparto): técnicas como QAOA, quantum annealing y redes tensoriales como MeLoCoToN ofrecen soluciones a problemas de optimización.

PROYECTOS DE INVESTIGACIÓN

NEUROMORFICOS-EG – Sistemas Neuromórficos para Edge Computing Industrial

El proyecto experimenta sobre nuevos sistemas neuromórficos para su procesamiento en el Edge Computing, mediante desarrollos tecnológicos concretos para su aplicación general en entornos industriales, bienes de equipo, y en ciberseguridad, en Sistemas de Detección de Intrusiones (IDS).

Duración: 2021 - 2023

ARTÍCULOS DE BLOG RELACIONADOS

FPGA: la última frontera de la industria electrónica

Las FPGAs (Field Programmable Gate Arrays) son un pilar fundamental, aunque a menudo desconocido de la industria electrónica. En ITCL investigamos con FPGAs con el objetivo de contar con una potente herramienta para realizar inferencias de inteligencia artificial en el borde, dentro del ya extenso arsenal del centro.