A lo largo de la historia de la informática hemos venido viendo nuevos acrónimos de unidades de procesamiento, ahora le toca el turno a la QPU. Tras la CPU, GPU, NPU, FPU, etc., ahora también llega esta nueva unidad que promete cálculos a un rendimiento nunca visto antes, ya que se basan en el paradigma de la computación cuántica.
Índice de contenidos
Computación cuántica y Qubits
La computación cuántica emerge como una revolución tecnológica frente a la computación basada en la mecánica tradicional y la lógica digital. A diferencia de los ordenadores clásicos que operan con bits (0 o 1), los ordenadores cuánticos utilizan el qubit (o cúbit en español), unidades que pueden existir en una superposición de ambos estados simultáneamente. Esta propiedad, junto con otras como el entrelazamiento cuántico, permite realizar cálculos exponencialmente más rápidos.
Los qubits pueden implementarse utilizando diversos sistemas físicos, como usando superconductores, espín de electrones, iones o fotones. Cada uno de estos sistemas tiene sus propias características, pero independientemente de eso, lo importante es que además de los estados tradicionales «arriba» (0) o «abajo» (1), también pueden estar en ambos a la vez, es decir, en estado de superposición, valdrían 0 y 1 a la vez.
Esta capacidad permitiría poder obtener los resultados de todos los estados a la vez, mientras que en un ordenador clásico, simplificándolo mucho, se tendrían que realizar varios procesos para obtener los mismos resultados. Aunque no es tan sencillo como parece, ya que la computación cuántica no trabaja con resultados precisos, sino con probabilidades, pero esto es algo demasiado complejo. Simplemente debes comprender el potencial de la cuántica aquí.
Por ejemplo, imagina que se quiere hacer la factorización del número 15. Para realizar esto en un ordenador clásico, los pasos serían:
- Se ejecuta un programa o algoritmo que pruebe mediante divisiones sucesivas todas los divisores posibles de 15, es decir, de 1 hasta 14, uno a uno.
- En este caso, se tendrían que realizar 7 divisiones, es decir, ejecutar varias instrucciones en la CPU hasta encontrar los resultados. Por ejemplo, el código a ejecutar sería algo así (simplificado) como:
COMMENT ; Ejemplo de ensamblador simple para factorizar 15 - ProfesionalReview ENDCOMMENT section .data numero dd 15 ; Número a factorizar divisor dd 2 ; Inicia con el divisor más pequeño resultado dd 0 ; Iniciado a cero section .text global _start _start: mov eax, [numero] ; Carga el número a factorizar en el registro EAX mov ebx, [divisor] ; Carga el divisor inicial en EBX ; Iniciar bucle para ir probando las iteraciones posibles bucle_factorizacion: cmp eax, 1 ; Compara si el número ya es 1 je fin ; Si es 1, se ha encontrado, y el programa termina ; Dividimos el número por el divisor xor edx, edx div ebx ; Divide EAX y EBX, resultado se almacena en EAX, resto de la división en EDX cmp eDx, 0 ; Comprueba si el resto es 0 je es_factor ; Si el resto es 0, EBX es un factor inc ebx ; Incrementa el divisor y continuamos jmp bucle_factorizacion es_factor: ; Para los resultados obtenidos mov [resultado], ebx ; Guarda el factor en la variable 'resultado' mov eax, [numero] ;Recarga el número original div ebx ; Divide el número por el factor encontrado mov [numero], eax ; Actualiza 'numero' con el cociente mov ebx, 2 ; Reinicia el divisor jmp bucle_factorizacion fin: ; El programa terminaría aquí, o podrías imprimir los factores, etc. mov eax, 1 ; Código para terminar el programa int 0x80 ; Instrucción de syscall() para transferir el control del programa
El resultado es que se tienen que ejecutar numerosas instrucciones hasta encontrar el resultado deseado. En cambio, si se usa el algoritmo Shor usando qubits en superposición o entrelazado, dada dicha dualidad, podría dar los resultados sin tener que repetir tantas veces la iteración. Es ahí donde radica el potencial de cálculo de estos sistemas.
También te puede interesar conocer cuáles son las mejores CPUs del mercado
¿Qué es la QPU?
Una QPU (Quantum Processing Unit) aprovecha los principios de la mecánica cuántica para realizar cálculos. A diferencia de las CPU clásicas que operan con bits (0 o 1), las QPU utilizan qubits, de los que ya he comentado anteriormente. Por tanto, simplemente tienes que tener presente que una QPU es una CPU cuántica, ni más ni menos, aunque las diferencias entre ambas son notables:
- Por ejemplo, mientras que una CPU trabaja con señales eléctricas que varían de voltaje, para interpretar los ceros y unos, los qubits se basan en iones atrapaos, fotones, efectos superconductores, etc., manipulados por pulsos, campos magnéticos, etc.
- Mientras que la CPU se implementa usando transistores y lógica binaria con puertas lógicas convencionales, los circuitos cuánticos se fabrican para funcionar con distintas puertas o funciones cuánticas, y en vez de usar lenguajes de ensamblador convencionales, se usan lenguajes específicos como QASM para implementar los algoritmos que se desean ejecutar. Por tanto, no son compatibles entre sí.
- Mientras que la CPU, una vez sus unidades han ejecutado la instrucción se obtiene el resultado, en el caso de la QPU se necesita realizar un control y medición de las probabilidades del qubit resultante para determinar el resultado.
Característica | QPU | CPU |
---|---|---|
Principio de funcionamiento | Mecánica cuántica | Mecánica clásica (como curiosidad, decir que conforme los transistores se van haciendo cada vez más pequeños, se producen efectos cuánticos indeseados y que pueden alterar los bits, como el efecto túnel). |
Unidades básicas | Qubits (puede valor 0, 1, o superposición de 0 y 1) | Bits (0 o 1, pero no ambos a la vez) |
Paradigma de programación | Circuitos cuánticos, mediante lenguajes específicos | Lenguajes de programación clásicos |
Fortalezas | Permite realizar cálculos complejos en muy poco tiempo | Mayor flexibilidad |
Debilidades | Alta sensibilidad al ruido, complejidad de implementación y control, coste elevado | Limitaciones en problemas de cálculo complejo y simulación cuántica a gran escala |
Aplicaciones | Simulación de sistemas cuánticos, optimización, cifrado, cálculos científicos, etc. | Sistemas operativos, aplicaciones variadas, simulaciones convencionales, etc. |
También te recomiendo leer sobre las mejores GPUs del mercado
¿Cómo se puede aprovechar su potencial?
En este nuevo paradigma, las computadoras cuánticas no reemplazan a las clásicas, sino que las complementan. Un cliente, que puede ser un supercomputador clásico, o un simple PC, se conecta al computador cuántico a través de una interfaz de comunicación. El cliente envía al computador cuántico un problema específico, traducido a un conjunto de instrucciones y circuitos cuánticos.
El computador cuántico se limita a ejecutar los circuitos cuánticos en sus qubits, aprovechando las propiedades de la mecánica cuántica para explorar múltiples soluciones simultáneamente. Una vez finalizada la ejecución, el computador cuántico envía los resultados de vuelta al cliente, y será éste el que los interprete en sus aplicaciones, el que los almacene, etc. Es decir, dicho de otro modo, un ordenador cuántico solo sirve como un acelerador matemático de muy alta capacidad…
Recuerda que un ordenador cuántico no puede ejecutar sistemas operativos, ni aplicaciones convencionales. Simplemente es como una monstruosa calculadora para obtener cálculos rápidamente y que un ordenador normal no podría realizar en tan poco tiempo.
¿Cómo se fabrican estos chips?
La fabricación de chips cuánticos es un proceso complejo, a pesar de su extrema simplicidad, o lo que parece simplicidad, ya que no tienen miles de millones de transistores como los chips convencionales, sino que en vez de eso usan unos circuitos para implementar los qubits y las distintas funciones que pueden ejecutar.
Principales sistemas físicos para implementar qubits son:
- Iones atrapados: los iones como el calcio o el berilio se suspenden en un vacío ultra alto y se manipulan utilizando campos eléctricos y láseres.
- Superconductores: el niobio, por ejemplo, se enfrían a temperaturas cercanas al cero absoluto para crear circuitos eléctricos cuánticos.
- Puntos cuánticos: pequeñas regiones de material semiconductor confinadas en tres dimensiones se utilizan para crear qubits con propiedades ópticas.
- Otros…
Los materiales de fabricación y los procesos pueden ser muy similares a los chips convencionales, usando la base de silicio o el cristal de diamante para alojar los qubits y sus funciones. Es decir, se pueden usar técnicas de fotolitografía, epitaxia, ataque o grabado, implantación, etc. En caso de ser superconductores, el enfriamiento es clave, ya que se deben enfriar a temperaturas próximas al cero absoluto (0ºK o unos -273ºC), con sistemas de criogenización que le dan un aspecto a estos equipos de un tanto futuristas y extraños, de lo contrario, no funcionarían.
En los chips cuánticos actuales, debido a la inconsistencia o poca estabilidad de los qubits, se tienen que agregar qubits extra a la QPU, y no se usan para el cálculo, sino simplemente para la calibración o el control. Además, las pequeñas imperfecciones en los materiales empleados o el ruido ambiental, podrían afectar a la eficacia, por lo que el aislamiento es también vital en estos casos. Por eso, cuando empresas como Intel, Google, IBM, Honeywell, D-Wave Systems, etc., lanzan una noticia de que han encontrado la supremacía cuántica, y que tienen no se cuantos qubits, hay que cogerlo con pinzas, ya que en muchos casos no son avances tan impresionantes como parecen…
De hecho, lo cierto es que no se espera a que en un corto plazo haya ordenadores cuánticos para uso general o basados en la nube para las masas. Aún es una tecnología en fase de desarrollo, en etapas muy tempranas, y no se controla como es debido, por lo que para tener ordenadores fiables, aún falta bastante tiempo, pese a los prototipos que han presentado todas estas compañías y que ya operan. Pero repito, ahora están como los ordenadores de los años 1940, que más que aplicaciones en sí, lo que se hacía con ellos era experimentar sus capacidades.
No olvides comentar, te leeremos…