Imagine a unei colecții mari de plăci și fire metalice de culoarea cupru, toate înconjurând o bucată mică, neagră de siliciu.

Mărește / Micul procesor cuantic (centru) înconjurat de cabluri care transportă semnale cu microunde către acesta și hardware-ul de refrigerare.

După cum am descris la începutul acestui an, operarea unui computer cuantic va necesita o investiție semnificativă în resursele de calcul clasice, având în vedere cantitatea de măsurători și operații de control care trebuie executate și interpretate. Aceasta înseamnă că operarea unui computer cuantic va necesita, de asemenea, o stivă de software pentru a controla și interpreta fluxul de informații din partea cuantică.

Dar și software-ul se implică cu mult înainte de a fi executat ceva. Deși este posibil să se execute algoritmi pe hardware cuantic prin definirea setului complet de comenzi trimise către hardware, majoritatea utilizatorilor vor dori să se concentreze pe dezvoltarea algoritmului, mai degrabă decât pe detaliile controlului oricărei piese unice de hardware cuantic. „Dacă toată lumea trebuie să coboare și să știe care este zgomotul, [use] instrumente de management al performanței, ei trebuie să știe cum să compileze un circuit cuantic prin hardware, trebuie să devii un expert în prea multe pentru a putea face descoperirea algoritmului”, a spus Jay Gambetta de la IBM. Deci, o parte din Stiva de software pe care companiile o dezvoltă pentru a-și controla hardware-ul cuantic include software care convertește reprezentările abstracte ale algoritmilor cuantici în seria de comenzi necesare pentru a le executa.

Versiunea IBM a acestui software se numește Qiskit (deși a fost făcut open source și de atunci a fost adoptat de alte companii). Recent, IBM a făcut câteva anunțuri cu privire la Qiskit, atât analizându-l în comparație cu alte stive de software, cât și deschizându-l către module terțe. Vom arunca o privire la ceea ce fac stack-urile de software înainte de a intra în detaliile noutăților.

Ce face stiva de software?

Este tentant să priviți Qiskit-ul IBM ca echivalentul unui compilator. Și la cel mai elementar nivel, aceasta este o analogie rezonabilă, prin aceea că este nevoie de algoritmi definiți de oameni și îi convertește în lucruri care pot fi executate de hardware. Dar există diferențe semnificative în detalii. Un compilator pentru un computer clasic produce cod pe care procesorul computerului îl convertește în instrucțiuni interne care sunt folosite pentru a configura hardware-ul procesorului și pentru a executa operațiuni.

Chiar și atunci când folosesc ceea ce se numește „limbaj mașină”, programatorii nu controlează în mod direct hardware-ul; programatorii nu au control asupra locului în care sunt executate lucrurile hardware (adică în ce procesor sau unitate de execuție din acel procesor), sau chiar în care sunt executate instrucțiunile de ordine.

Lucrurile sunt foarte diferite pentru calculatoarele cuantice, cel puțin în prezent. Pentru început, tot ceea ce se întâmplă pe procesor este controlat de hardware extern, care acționează de obicei prin generarea unei serii de impulsuri laser sau microunde. Deci, software-ul precum Qiskit de la IBM sau Q# de la Microsoft acționează prin conversia codului care le este dat în comenzi care sunt trimise către hardware care este extern procesorului.

Acești „compilatoare” trebuie să țină evidența exactă pe care parte a procesorului se întâmplă lucrurile. Calculatoarele cuantice acționează prin efectuarea unor operații specifice (numite porți) pe indivizi sau perechi de qubiți; pentru a face asta, trebuie să știi exact ce qubit te adresezi. Și, pentru lucruri precum qubiții supraconductori, unde pot exista variații de la dispozitiv la dispozitiv, qubiții hardware pe care îi folosiți pot avea un efect semnificativ asupra rezultatului calculelor.

Ca rezultat, majoritatea lucrurilor precum Qiskit oferă opțiunea de a aborda direct hardware-ul. Dacă un programator alege să nu o facă, software-ul poate transforma instrucțiunile generice într-o serie precisă de acțiuni care vor executa orice algoritm a fost codificat. Aceasta implică stiva de software să aleagă ce qubiți fizici să folosească, ce porți și măsurători să execute și în ce ordine să le execute.

Rolul stivei de software, totuși, este probabil să se extindă considerabil în următorii câțiva ani. Un număr de companii experimentează cu design-uri hardware qubit care pot marcați când apare un tip de eroare comunăși s-au înregistrat progrese cu dezvoltarea qubiților logici care permit corectarea erorilor. În cele din urmă, orice companie care oferă acces la computere cuantice va dori să-și modifice stiva de software, astfel încât aceste caracteristici să fie activate fără a necesita efort din partea oamenilor care proiectează algoritmii.

Chat Icon
×