Mi sono imbattuto in un post su LinkedIn di Michaela Eichinger (di Quantum Machines), che poneva un’ottima e pertinente domanda sul significato di QPU, riassunta qui di seguito:

Chip quantistico collegato a un circuito stampato - crediti: QUtech

L’unità di elaborazione quantistica (QPU) non è solo il chip nudo: nei semiconduttori classici, le CPU sono molto più di un semplice die di silicio dopo la fase di tape-out. Senza il packaging, la distribuzione del clock, le gerarchie di memoria e il microcodice, quel die è solo sabbia altamente ingegnerizzata.

Lo stesso rigore ingegneristico applicato ai sistemi vale anche per la QPU. Il chip quantistico, di per sé, non fa nulla. Ha bisogno del giusto involucro e dell’ambiente adeguato (come un frigorifero a diluizione o una camera a vuoto), nonché dei circuiti di controllo e dell’infrastruttura necessari per eseguire effettivamente le porte logiche.

Terminologia Link to heading

Tra tutti i commenti sulla questione, quello di Olivier Ezratty è stato particolarmente pratico. Ha suggerito di definire due termini chiave per chiarire le cose: “computer quantistico” e “sistema di calcolo quantistico”.

  • Computer quantistico: esegue un circuito quantistico predefinito, solitamente più volte, e fornisce risultati utili. Include quindi la compilazione, l’ottimizzazione, l’implementazione di QEC/FTQC (se presente), tutti i driver di sistema classici (elettronica, fotonica), le misurazioni a metà circuito, l’ottimizzatore classico (per circuiti variazionali NISQ) e la post-elaborazione. E tutte le tecnologie abilitanti, inclusa la criogenia.

  • Sistema di calcolo quantistico: risolve un problema dell’utente utilizzando un computer quantistico. Dovrebbe includere tutte le risorse classiche coinvolte nella generazione del circuito quantistico, fino ad arrivare al calcolo ad alte prestazioni (HPC) se necessario. E il computer quantistico utilizzato.

Il diagramma a destra rappresenta queste due definizioni.

Prospettiva di sistema: [ QPU || GPU ] Link to heading

La parte interessante è il sistema di calcolo quantistico. Mi piace tracciare un parallelo tra lo stack QPU e quello GPU, come mostrato nel diagramma seguente:

Dal punto di vista del sistema, una QPU non è poi così diversa da una GPU. Esistono analogie tra i diversi livelli degli stack di QPU e GPU.

È inoltre utile identificare quali parti operano sull’hardware quantistico e quali componenti logici vengono eseguiti sul computer classico, anche se entrambi fanno parte del computer quantistico.

Olivier Erzaty mi ha fornito un utile feedback sul diagramma originale che avevo pubblicato su LinkedIn:

  • Interconnessione: Esistono almeno due interconnessioni. L’interconnessione quantistica trasporta entità quantistiche entangled. Un’altra è l’interconnessione classica in tempo reale, chiamata interconnessione in tempo reale (RTI) in termini NVQLink. Esiste anche una rete classica standard che collega le CPU, non mostrata in questo diagramma.

Calibrazione: Idealmente, la calibrazione dovrebbe essere in tempo reale, ma nella maggior parte dei casi non lo è ancora. Attualmente esistono due tipi: la calibrazione in tempo reale, che viene eseguita all’interno dell’hardware quantistico utilizzando le NPU integrate e i dati di lettura o di sindrome, e la calibrazione più lenta, che viene eseguita sulla CPU o sulla GPU utilizzando modelli vLLM avanzati come Ising. Questi due approcci potrebbero eventualmente fondersi, ma potrebbero volerci alcuni anni.

  • Accelerazione: Il primo diagramma utilizzava il termine “accelerazione hardware quantistica” per evidenziare che i circuiti quantistici possono essere eseguiti anche su simulatori accelerati da GPU, persino senza una QPU. Tuttavia, come ha notato Olivier, alcuni campi quantistici come QML utilizzano soluzioni quantistiche per migliorare i risultati, ma non necessariamente per la velocità. Per evitare confusione, le parti specifiche dell’hardware quantistico (sequencer, controller, pulsar, crioconservatore e chip quantistici) sono chiamate “hardware quantistico”.

Gerarchia di sistema Link to heading

Ciò porta alla seguente gerarchia, simile a quella proposta da Olivier:

  1. Sistema quantistico: Un sistema eterogeneo e ibrido che utilizza insieme GPU, CPU e QPU. 2. Computer quantistico: Un sistema che esegue circuiti quantistici e genera risultati probabilistici. 3. Hardware quantistico: La parte fisica in cui si trova la QPU, insieme al criostato e alla PPU.

Ecco alcuni punti da tenere a mente:

  • xPU: Ho menzionato “GPU, CPU e QPU”, ma avrei potuto usare “xPU” come termine generico per qualsiasi unità di elaborazione, dato che il sistema potrebbe utilizzare anche TPU e NPU.

  • PPU: PPU sta per “Pulse Processing Unit” (Unità di elaborazione degli impulsi). È il componente su cui è in esecuzione il firmware, responsabile del controllo e della lettura dei pulsar, del sequenziamento (circuito intermedio), del QEC e della rete RTI.

GPU vs PPU: L’esecuzione dei kernel sulla GPU o sulla PPU comporta un compromesso tra il costo del trasferimento delle informazioni e la potenza di calcolo, soprattutto quando le PPU sono posizionate all’interno del criostato.

Conclusion Link to heading

Questo breve promemoria mi ha aiutato a chiarire i diversi componenti di un sistema di calcolo quantistico che utilizza QPU. Ho usato l’analogia con le GPU appositamente per rendere più facile la comprensione dei componenti coinvolti in una QPU.

Naturalmente, questa è una visione semplificata e ho volutamente omesso molti dettagli. Li tratterò in futuri promemoria. Nel frattempo, se siete interessati, date un’occhiata a CudaQ di Nvidia, che affronta già molte delle sfide di progettazione mostrate nella parte superiore di questo diagramma.

Vorrei inoltre ringraziare Oliver Erzaty per il suo feedback e Michaela Eichinger per le sue domande e i suoi post sempre stimolanti.


References:

  • NVQLink: Real-time accelerated computing for every quantum processor
  • CudaQ: NVIDIA’s open platform for quantum computing and the foundation for accelerated quantum supercomputing
  • PPU: Real-Time Quantum Control at the Pulse Level
  • NVIDIA Ising

For reference, this is the initial diagram posted on LinkedIn:

Hybrid Quantum Computing System (incomplete version)

DrawIO diagrams used in this memo:


.drawio .webp .svg
gpu vs qpu stack v2

.drawio .webp .svg
gpu vs qpu stack v1

.drawio .webp .svg
gpu vs qpu stack v0