ProcesadoresTutoriales

QPU: ¿Qué es y en que se diferencia de una CPU?

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.

Computación cuántica y Qubits

qubit

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:

  1. 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.
  2. 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?

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?

computador cuántico

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…

Isaac

Geek de los sistemas electrónicos, especialmente del hardware informático. Con alma de escritor y pasión por compartir todo el conocimiento sobre tecnología.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba