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 optimización combinatoria mediante técnicas cuánticas como el Quantum Approximate Optimization Algorithm (QAOA) o el Quantum Annealing, y técnicas de inspiración cuántica, como las tensor networks lógicas como el MeLoCoToN. Otra de nuestras ramas de especialización son las técnicas de machine learning mediante computación cuántica y compresión tensorial, como en LLMs. Además, también se profundiza en el análisis y procesamiento de datos mediante técnicas cuánticas y tensoriales, destacando la detección de anomalías y compresión de información.

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

Resolución de sistemas de ecuaciones lineales

Algoritmos cuánticos como el HHL o el Variational Quantum Linear Solver son capaces de abordar el problema de la resolución de sistemas de ecuaciones de forma eficiente y precisa para extraer propiedades de las soluciones o como entrada a otros algoritmos. Los sistemas de ecuaciones lineales aparecen en la práctica totalidad de los contextos de procesamiento de datos o simulación de sistemas físicos.

Optimización combinatoria

La optimización combinatoria es una de las principales vías de mejora de productividad industrial, ya que abarca desde la optimización del almacenamiento de objetos en un almacén hasta la optimización de rutas de reparto. Técnicas cuánticas como el QAOA o el quantum annealing son interesantes para abordar dicho problema, mediante métodos aproximados que podrían llegar a devolver mejores soluciones que los algoritmos clásicos.

Machine Learning cuántico

El campo del machine learning cuántico ha crecido rápidamente en los últimos años, con nuevos algoritmos, modelos y herramientas para abordar diferentes problemas y tareas. Debido a la capacidad de los sistemas cuánticos de trabajar en espacios de datos exponencialmente grandes, se quiere dar uso a estos espacios para mejorar el tratamiento de los mismos de forma eficiente para obtener resultados óptimos.

Tensor Networks

Las tensor networks son una tecnología de inspiración cuántica con una creciente popularidad en los últimos años, en la cual el ITCL tiene una amplia experiencia. Esta tecnología permite la compresión eficiente de información y operaciones mediante el uso de tensores, permitiendo simular sistemas cuánticos, extraer propiedades de conjuntos de datos o aligerar los requerimientos de modelos de inteligencia artificial.

PROYECTOS DE INVESTIGACIÓN

QuamtumCrip – Investigación de la ambivalencia de la computación cuántica para resolver problemas de optimización y encriptación post-cuántica

El proyecto QuantumCrip investiga en algoritmos y aplicaciones de la computación cuántica tanto en ordenadores como en simuladores cuánticos. Además, investiga en algoritmos de criptografía post-cuántica propuestos por NIST y su ejecución eficiente en hardware con el uso de las FPGA.

Duración: 2024-2027

CICERO – Contramedidas inteligentes de ciberseguridad para la red del futuro

desarrollo de sistemas robustos de tratamiento de la información para identificar y reducir las vulnerabilidades de sistemas y redes, basados en la aplicación de tecnologías de seguridad de señales y datos

Duración: 2023 - 2025

IBERUS – Red Tecnológica de Ingeniería Biomédica aplicada a patologías degenerativas del sistema neuromusculoesquelético en entornos clínicos extrahospitalarios

IBERUS es el nombre de la Red de Excelencia de los 4 Centros Tecnológicos (CCTT) que han definido un Programa Estratégico con el objetivo de estimular la Tecnología Prioritaria Cervera 15, enmarcada entre las tecnologías para la salud, tanto en las actividades de investigación y desarrollo de los propios centros como en el contexto empresarial y clínico.

Duración: 2021 - 2023

Tecnológica de Ingeniería Biomédica

CEL.IA – Consorcio Cervera, Liderazgo de la I+D+I en Inteligencia Artificial Aplicada. Optimizar datos con IA.

CEL.IA es un proyecto de investigación estratégico en cooperación entre varios centros tecnológicos que pretende aunar esfuerzos para desarrollar un “Toolkit” u oferta completa de soluciones basadas en realidad virtual y aumentada, visión artificial y procesamiento de lenguaje natural, para facilitar la efectiva incorporación de la Inteligencia Artificial en los interfaces hombre-máquina.

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.