O CiTIUS deseña novas ferramentas de linguaxe para facilitar a programación de computadores cuánticos
O desenvolvemento de linguaxes amigables que lles permitan aos programadores e programadoras comunicarse coas computadoras cuánticas de forma accesible é un dos factores decisivos para o despregamento de todo o potencial destas tecnoloxías. O CiTIUS traballa nun compilador para sistemas cuánticos distribuídos e todas as ferramentas e especificacións requiridas para o seu funcionamento. O obxectivo final é contribuír a que os programadores poidan centrarse no avance dos códigos informáticos que lles dan instrucións ás computadoras cuánticas, liberándoos da esixencia de coñecer a fondo os principios físicos que rexen o seu funcionamento, como xa ocorre dende hai moito tempo coa computación clásica
Cando nace unha nova tecnoloxía, unha das cousas máis importantes que hai que facer para que sirva aos nosos propósitos é aprender a comunicarnos con ela. Dende que se puxo ao dispor do gran público a primeira versión de ChatGPT, o 30 de novembro de 2022, teñen corrido ríos de tinta e horas de vídeo sobre como encher a caixa de texto da aplicación. Titoriais en Youtube, guías, manuais, blogs, libros en papel e dixitais e ata cursos. Todo para saber escribir o prompt que xere a mellor resposta, é dicir, os códigos de linguaxe máis adecuados para comunicarnos coa intelixencia artificial.
A computación cuántica promete resolver problemas inalcanzables para os computadores clásicos, pero aínda queda moito camiño para que poida despregar todo o seu potencial. Unha das claves para que isto suceda é o desenvolvemento de linguaxes que lles permitan aos programadores e programadoras comunicarse coas computadoras cuánticas.
As leis que rexen o comportamento das máquinas cuánticas son totalmente diferentes ás das clásicas. A mecánica cuántica, cos seus fenómenos de superposición e entrelazamento, permite que as unidades mínimas de información, os cúbits, sexan moito máis versátiles que os tradicionais bits. E poñelos a traballar require de novas habilidades de comunicación.
En calquera caso, grazas a todo o traballo realizado durante décadas cos computadores clásicos, “desenvolver linguaxes novas non é estritamente necesario. A maior parte das linguaxes de programación para a computación cuántica son librerías e extensións de linguaxes clásicas”, explica Jorge Vázquez, cuxa investigación no Centro Singular de Investigación en Tecnoloxías Intelixentes da Universidade de Santiago (CiTIUS) busca contribuír a este campo.
Traducir para simplificar
“É moi importante facer fincapé na cantidade de diferentes perfís que se necesitan no mundo da computación cuántica, actualmente dominado polos físicos. Creo que, analizando a tecnoloxía cuántica desenvolvida ata o de agora, é vital que o mundo da informática clásica tome cartas no asunto e mellore a representación das ideas a nivel informático que expón o mundo da física”, asegura Vázquez.
Esa representación de ideas a nivel informático é o que se denomina abstracción, algo que existe desde hai tempo na computación clásica e que permite que un programador poida facer o seu traballo sen necesidade de comprender en profundidade o funcionamento físico dunha CPU (a unidade central de procesamento dun computador convencional). No caso da computación cuántica, programar require unha formación moi avanzada con coñecementos en física que un informático non adoita ter. Para vencer esta limitación, é necesario traballar na tradución da linguaxe para simplificalo, é dicir, lograr o nivel de abstracción necesario respecto da física cuántica que subxace nas tripas do sistema.
Neste contexto, a achega do CiTIUS consiste no desenvolvemento dun compilador para sistemas cuánticos distribuídos e todas as ferramentas e especificacións requiridas para o seu funcionamento.
En poucas palabras, un compilador é unha ferramenta de desenvolvemento de software que se ocupa de traducir o código fonte escrito por un programador a unha linguaxe que a máquina pode entender e executar. Poderíase comparar cun tradutor de idiomas que traballa cun libro escrito en chinés para trasladalo ao galego, de maneira que as persoas galegofalantes podamos entendelo. Un compilador de computación cuántica como o que desenvolve o CiTIUS fai o mesmo co código que escribe o programador para que o computador cuántico entenda o que ten que facer.
Estas ferramentas atópanse nunha etapa moi temperá de desenvolvemento. “A literatura apunta a que o futuro da computación cuántica se atopa nas estruturas con varios núcleos. Para este tipo de arquitecturas non hai ningunha linguaxe desenvolvida aínda”, aclara Vázquez.
Polo menos mentres os computadores cuánticos sigan sendo pequenos –con poucos cúbits, e, por tanto, cunha capacidade de cálculo limitada– e ruidosos –propensos a cometer erros–, existe certo consenso na comunidade científica en que a solución é poñer a estes dispositivos a traballar en rede. É o que se coñece como computación cuántica distribuída.
Con todo, este concepto non só fai referencia á conexión de varios computadores cuánticos entre si para traballar xuntos, senón tamén a que cada un destes teñan múltiples procesadores internamente –as estruturas con varios núcleos ás que facía referencia o investigador do CiTIUS–. En termos coloquiais, ao parecer o futuro da cuántica pasa por computadores con varios cerebros cada un traballando en equipo que, á súa vez, se conectan entre si para colaborar na execución dunha tarefa ou problema que por si sós non poderían resolver.
Descubrir a mellor maneira de darlle instrucións a esta estrutura de maneira eficiente é o complexo reto ao que se enfronta Vázquez. O seu proxecto atópase nunha fase inicial, pero ten moi claros os pasos que hai que dar. “Recentemente acabamos de definir a especificación dunha representación intermedia, que é o punto central para un compilador. Os seguintes pasos son a creación dun compilador de alto nivel á representación intermedia definida e da representación intermedia a un backend que nos permita executar ou simular”, detalla.
O esperanto da computación cuántica
Para explicar de forma sinxela o que quere lograr, propón utilizar un paralelismo coa linguaxe natural, imaxinando que temos cinco idiomas antigos e cinco modernos e queremos traducir todos os idiomas antigos en todos os idiomas modernos. En principio, para isto serían necesarios 25 tradutores, un por cada posible emparellamento.
Con todo, é posible expoñer unha opción alternativa, utilizando un idioma intermedio, que podería ser o esperanto. Se se traducen todos os idiomas antigos ao esperanto e o resultado a todos os idiomas modernos, só son necesarios 10 tradutores: un para cada idioma antigo ao esperanto –cinco en total– e outro para cada tradución do esperanto a un idioma moderno –cinco máis–. Polo tanto, pasamos de necesitar 25 tradutores a necesitar só 10, o que fai que o proceso sexa máis eficiente en recursos.
“Nesta metáfora, o esperanto sería a representación intermedia que nós estamos a desenvolver e, como vemos, axuda a reducir notablemente a cantidade de pezas que se necesitan para crear un compilador novo cando, por exemplo, xorde unha linguaxe de alto nivel –na metáfora, a linguaxe antiga– ou unha nova arquitectura de computación –que equivale á linguaxe moderna–”, relata Vázquez.
Neste proxecto, que se enmarca no Plan Complementario de Comunicacións Cuánticas (PCCC), o CiTIUS conta coa colaboración do Centro de Supercomputación de Galicia (CESGA), que recentemente incorporou o QMIO, un dos computadores cuánticos de acceso público con máis cúbits de Europa.
O futuro cuántico
Jorge Vázquez considera que o camiño cara ao éxito da computación cuántica debe aproveitar o xa aprendido a través do desenvolvemento da computación clásica. Así, sobre o futuro, comenta que “todo dependerá de cal sexa a aposta das grandes empresas e dos grupos de investigación. Dito isto, hai unha tendencia lóxica na computación cuántica que é seguir, ou polo menos tentalo, os pasos da computación clásica co fin de evitar erros do pasado”, explica. “A introdución da computación paralela e distribuída en clásica e o seu enorme impacto é o camiño para conseguir un impacto similar na cuántica”.
Polo que se refire ao papel da comunidade científica neste avance, asegura que “a investigación sempre ten que ser afrontada da mesma maneira: tentando aglutinar toda a información posible e abrazando os cambios que poidan xurdir”. Segundo a súa visión, a investigación require de gran flexibilidade porque as grandes ideas xorden de non descartar ningún dos camiños que pode tomar a tecnoloxía. “Quizais na contorna da cuántica isto acentúase máis se cabe, pero creo que, lonxe de ser un problema, incita á creatividade e á procura de novas solucións”, conclúe.
Contacto: tf.pena@usc.es ; javier.cardama@usc.es
Publicacións:
Barral, D., Cardama, F.J., Díaz, G., Faílde, D., Llovo, I.F., Mussa Juane, M., Vázquez-Pérez, J., Villasuso, J., Piñeiro, C., Costas, N., Pichel, J. C., Pena, T. F., Gómez, A. (2024) Review of Distributed Quantum Computing. From single QPU to High Performance Quantum Computing. https://arxiv.org/pdf/2404.01265
Vázquez-Pérez, J., Cardama, F. J., Piñeiro, C., Pena, T. F., Pichel, J. C., Gómez, A. (2024) NetQIR: An Extension of QIR for Distributed Quantum Computing. https://arxiv.org/pdf/2408.03712