CiTIUS designs new language tools to facilitate quantum computer programming

The development of user-friendly languages that allow programmers to communicate with quantum computers in an accessible way is one of the decisive factors for the deployment of the full potential of these technologies. CiTIUS is working on a compiler for distributed quantum systems and all the tools and specifications required for their operation. The ultimate goal is to help programmers focus on advancing the computer codes that instruct quantum computers, freeing them from the requirement to have a thorough knowledge of the physical principles that govern their operation, as has long been the case with classical computing

Jorge Vázquez

When a new technology is born, one of the most important things to do to make it serve our purposes is to learn how to communicate with it. Since the first version of ChatGPT was made available to the general public on November 30, 2022, there have been rivers of ink and hours of video on how to fill in the application’s text box. YouTube tutorials, guides, manuals, blogs, paper and digital books, and even courses. Everything to know how to write the prompt that generates the best response, that is, the most appropriate language codes to communicate with artificial intelligence.

Quantum computing promises to solve problems that are unattainable for classical computers, although it still has a long way to go before it can deploy its full potential. One keys to making this happen is the development of languages that allow programmers to communicate with quantum computers.

The laws governing the behavior of quantum machines are totally different from those of classical ones. Quantum mechanics, with its superposition and entanglement phenomena, allows the smallest units of information, qubits, to be much more versatile than traditional bits. And making them work requires new communication skills.

In any case, thanks to all the work done over decades with classical computers, “developing new languages is not strictly necessary. Most of the programming languages for quantum computing are libraries and extensions of classical languages,” explains Jorge Vázquez, whose research at the University of Santiago’s Singular Research Center on Intelligent Technologies (CiTIUS) seeks to contribute to this field.

Translating for simplicity

“It is essential to emphasize how many different profiles are needed in the world of quantum computing, currently dominated by physicists. If we analyze the quantum technology developed so far, I believe that it is vital that the world of classical computing takes action and improves the representation of ideas at the computational level that the world of physics poses,” says Vázquez.

This representation of ideas at the computational level is what is known as abstraction, something that has existed for some time in classical computing and which allows programmers to do their work without the need to understand in depth the physical operation of a CPU (the central processing unit of a conventional computer). In the case of quantum computing, programming requires very advanced training with knowledge in physics that computer scientists usually lack. To overcome this limitation, it is necessary to work on translating the language to simplify it, i.e. to achieve the necessary level of abstraction with respect to the underlying quantum physics in the guts of the system.

In this context, the CiTIUS contribution consists of the development of a compiler for distributed quantum systems and all the tools and specifications required for its operation.

In a nutshell, a compiler is a software development tool that takes care of translating the source code written by a programmer into a language that the machine can understand and execute. It could be compared to a language translator that works with a book written in Chinese to translate it into Spanish so that Spanish speakers can understand it. A quantum computing compiler like the one developed by CiTIUS does the same with the code written by the programmer so that the quantum computer understands what it has to do.

These tools are at a very early stage of development. “The literature points to the future of quantum computing being in multi-core structures. For this kind of architectures no language has been developed yet,” clarifies Vázquez.

At least, as long as quantum computers remain small –with few qubits, and therefore limited computing capacity– and noisy –error-prone– there is a certain consensus in the scientific community that the solution is to network these devices. This is known as distributed quantum computing.

However, this concept not only refers to connecting several quantum computers to work together, but also to each of them having multiple processors internally –the multi-core structures referred to by the CiTIUS researcher–. In colloquial terms, it seems that the future of quantum computing lies in computers with several brains teaming together and, at the same time, connected to one another to collaborate in executing a task or problem that they could not tackle individually.

Discovering the best way to instruct this framework efficiently is the complex challenge Vázquez is facing. His project is at an early stage, but he is very clear about the steps that need to be taken. “We recently finished defining the specification of an intermediate representation, which is the central point for a compiler. The next steps are to create a high-level compiler to the defined intermediate representation and from the intermediate representation to a backend that allows us to execute or simulate,” he details.

The Esperanto of quantum computing

To explain in simple terms what he wishes to achieve, he proposes using parallelism with natural language, imagining that we have five ancient and five modern languages and we want to translate all the ancient languages into all the modern languages. In principle, this would require 25 translators, one for each possible pair.

However, it is possible to consider an alternative option, using an intermediate language, which could be Esperanto. If all the old languages are translated into Esperanto and the result into all the modern languages, only 10 translators are needed: one for each ancient language into Esperanto –five in total– and one for each translation from Esperanto into the relevant modern language –another five–. So, we go from needing 25 translators to needing only 10, which makes the process more resource-efficient.

“In this metaphor, Esperanto would be the intermediate representation we are developing and, as we may see, it helps to significantly reduce the number of parts needed to create a new compiler when, for example, a high-level language –in the metaphor, the ancient language– or a new computer architecture –which is equivalent to the modern language– emerges,” says Vázquez.

In this project, which is part of the Complementary Quantum Communications Plan (PCCC), CiTIUS is collaborating with the Galicia Supercomputing Center (CESGA), which has recently incorporated the QMIO, one of the public access quantum computers with the most qubits in Europe.

The quantum future

Jorge Vázquez considers that the road to success of quantum computing must take advantage of all the learning accrued from the development of classical computing. Hence, about the future, he comments that “everything will depend on the commitment of large companies and research groups. Having said that, there is a logical trend in quantum computing, which is to follow, or at least try to follow, in the footsteps of classical computing in order to avoid past mistakes,” he explains. “The introduction of parallel and distributed computing in classical computing and its huge impact is the way to achieve a similar impact in quantum computing.”

Regarding the role of the scientific community in this advance, he assures that “research must always be approached in the same way: endeavoring to bring together as much information as possible and embracing any changes that may arise.” In his view, research requires much flexibility because great ideas arise from not discarding any of the pathways that technology may take. “Perhaps in the quantum environment this is even more accentuated, but I believe that, far from being a problem, this encourages creativity and the quest for new solutions,” he concludes.

Contact: tf.pena@usc.es javier.cardama@usc.es

Publications:

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