Sari la conținutul principal

Introducere

Bun venit la Frontieră

De-a lungul istoriei, înțelegerea noastră științifică asupra lumii a crescut rapid atunci când au apărut noi instrumente – instrumente care ne-au permis să punem întrebări noi, să rulăm experimente mai mari și să explorăm noi domenii de cercetare. Printre aceste instrumente se numără telescopul, microscopul și Marele Colizor de Hadroni. Fiecare a oferit acces la noi tipuri de descoperiri științifice. În anii 1960, am asistat și la apariția calculului de înaltă performanță (HPC), care a devenit un instrument esențial pentru rezolvarea sarcinilor computaționale complexe, inclusiv a multor provocări științifice importante.

Acum avem un alt instrument important pentru progresul științific: calculatoarele cuantice. Deși reprezintă încă o tehnologie emergentă, calculatoarele cuantice au potențialul de a schimba semnificativ tipurile de probleme computaționale pe care le putem rezolva eficient. Acest curs explorează modul în care aceste tehnologii, lucrând împreună, pot extinde limitele a ceea ce este posibil din punct de vedere computațional.

Misiunea noastră este clară, dar ambițioasă: să îți oferim cunoștințele conceptuale și practice necesare pentru a utiliza aceste tehnologii în abordarea celor mai dificile probleme ale lumii.

Acest video descrie obiectivele cursului și motivația din spatele combinării HPC și a calculului cuantic.

HPC

Ce este, mai exact, calculul de înaltă performanță? HPC a devenit fundația pentru rezolvarea problemelor computaționale moderne. Nu mai trăim într-o epocă în care problemele avansate pot fi rezolvate cu instrumente simple, cum ar fi abacul sau creionul și hârtia; în schimb, lucrăm cu întrebări și seturi de date care necesită o putere de calcul enormă.

Domeniul calculului de înaltă performanță își are rădăcinile în dezvoltarea primelor supercalculatoare din anii 1960. Acestea erau mașini proiectate special pentru a rezolva probleme științifice și inginerești de mari dimensiuni mai rapid decât calculatoarele convenționale.

Unul dintre primele supercalculatoare bine cunoscute a fost CDC 6600 (1964), construit de Seymour Cray, adesea numit părintele supercalculului. CDC 6600 era cel mai rapid calculator al timpului său, utilizând o arhitectură inovatoare care includea unități funcționale paralele și pipelining — concepte folosite și astăzi în HPC.

Cray a continuat să avanseze domeniul cu Cray-1 (1976), care a introdus procesarea vectorială — o tehnică ce a crescut considerabil viteza operațiunilor pe matrice mari de date, făcând-o bine potrivită pentru calculul științific.

Pe măsură ce vitezele unui singur procesor au început să se plafoneze, HPC a evoluat spre calculul paralel — utilizând mulți procesoare care lucrează împreună la diferite părți ale unei probleme. În anii 1980 și 1990, arhitecturile paralele au devenit comune în HPC. La începutul anilor 2000, HPC s-a orientat spre clustere de hardware de tip commodity, adică servere obișnuite conectate prin rețele de mare viteză. Această schimbare a făcut supercalculul mai accesibil și a extins accesul la HPC.

De-a lungul acestei evoluții, IBM® a fost în fruntea cercetării și implementării HPC. Remarcabil, supercalculatoarele IBM Blue Gene au fost una dintre cele mai influente familii de supercalculatoare din anii 2000 și începutul anilor 2010. A fost o eră de creștere enormă a sistemelor masiv paralele, din care Blue Gene/Q a fost un exemplu, cu o instanță (Sequoia) având 100.000 de noduri. IBM-built Oak Ridge Summit a fost primul resurs HPC care a atins ExaOPS (1,88 precizie mixtă) în 2018.

Astăzi ne aflăm în era exascale, în care supercalculatoarele pot efectua 101810^{18} operațiuni pe secundă (exaflops). Primul supercalculator capabil să atingă această referință a fost Frontier, situat la Oak Ridge National Laboratory.

Deci de ce avem nevoie de resurse de calcul atât de puternice? Există probleme critice pentru bunăstarea umană care necesită astfel de resurse extreme pentru a fi modelate sau rezolvate. Printre exemple se numără modelele climatice, studiul structurii și mișcării mantalei Pământului și simulările de dinamică a fluidelor.

Multe probleme de acest tip au fost abordate de cercetătorii IBM și colaboratorii care lucrează pe sisteme IBM. Această conducere susținută a fost larg recunoscută. De exemplu, cercetătorii IBM au câștigat premiul Gordon Bell de șase ori.[1]

HPC este un domeniu foarte activ, cu limite depășite în mod regulat. Pentru o prezentare generală a capabilităților moderne, consultă această listă a celor mai bune 500 de supercalculatoare.

Calculul cuantic

Calculul cuantic este o nouă paradigmă de calcul care nu urmează pur și simplu dezvoltarea graduală a calculatoarelor clasice. Urmărește să valorifice proprietățile cuantice ale superpoziției, entanglementului și interferenței cuantice pentru a rezolva probleme care ar fi intractabile pentru calculatoarele clasice singure. Nu vom explora detaliile unicității calculului cuantic în acest curs — consultă Fundamentals of quantum information pentru mai multe informații — ci vom discuta cum combinarea celor două infrastructuri ar putea duce la descoperiri în știința aplicată.

O abordare hibridă

Cel mai important de subliniat este că aceste două paradigme computaționale nu sunt concurente. Ne aflăm într-o eră în care fluxurile de lucru optimizate necesită ca cele două paradigme să se completeze reciproc și să plaseze sarcina acolo unde este gestionată cel mai eficient. Calculatoarele cuantice nu vor înlocui sistemele clasice; mai degrabă, viitorul științei computaționale va depinde din ce în ce mai mult de fluxuri de lucru hibride în care HPC asigură procesarea clasică de înaltă performanță, iar calculul cuantic contribuie cu capabilități unice. Ca practician, cercetător sau tehnolog, înțelegerea modului de a combina aceste instrumente te va poziționa ca lider în următoarea eră a avansului științific și tehnologic.

Vom examina cum calculul cuantic și HPC sunt poziționate pentru a permite descoperiri în numeroase industrii, inclusiv:

  • Chimie: Accelerarea identificării de noi medicamente și materiale.

  • Energie: Proiectarea de catalizatori, baterii și soluții de energie curată îmbunătățite.

  • Finanțe: Modelarea riscului, optimizarea portofoliilor și dezvoltarea de noi instrumente financiare.

  • AI și Machine Learning: Îmbunătățirea antrenării modelelor, optimizării și analizei datelor.

De ce depășim calculul clasic

Oamenii au obținut succese considerabile în domeniile de aplicație de mai sus folosind HPC. Cu toate acestea, chiar și cele mai rapide supercalculatoare din lume întâmpină dificultăți atunci când problemele se scalează factorial sau exponențial cu dimensiunea problemei. De exemplu, listarea fiecărei aranjamente posibile a 50 de particule într-o moleculă complexă duce la configurații care cresc cel puțin factorial, necesitând mai multă memorie decât toate centrele de date de pe Pământ la un loc ar putea oferi.

Un alt exemplu este planificarea unui traseu de livrare pentru 10.000 de orașe: numărul de rute posibile devine atât de mare încât, chiar dacă fiecare calculator construit vreodată ar testa câte un traseu pe microsecundă, calculul ar dura cu ordine de mărime mai mult decât vârsta actuală a Soarelui nostru. Aceste valori nu sunt doar mari; ele cresc exponențial, ceea ce înseamnă că fiecare particulă sau oraș suplimentar înmulțește sarcina computațională mult dincolo de scalarea simplă.

Putem continua să adăugăm GPU-uri, dar manipularea unor cantități atât de mari de date consumă deja megawați de energie și necesită facilități de dimensiunea depozitelor. La un moment dat, hardware-ul clasic nu mai poate scala în continuare într-un mod practic sau accesibil. De aceea cercetătorii apelează la procesoare cuantice, care stochează informații în superpoziții și pot uneori aborda direct aceste probleme de creștere exponențială, rezolvând cazuri specifice pe care mașinile clasice nu le pot finaliza într-un interval de timp rezonabil.

HPC ajunge în cele din urmă la limite fundamentale dictate de combinatorică și termodinamică. Calculul cuantic nu elimină acele limite, dar le poate ocoli uneori în scenarii foarte specifice.

De ce nu doar cuantic?

Dacă calculul cuantic poate ocoli anumite limitări ale calculului clasic, de ce nu ne bazăm în totalitate pe calculatoarele cuantice? Primul și cel mai evident motiv este că calculatoarele cuantice necesită în continuare mașini clasice pentru a funcționa. Sarcini precum compilarea și introducerea Circuit-urilor în procesorul cuantic, stocarea rezultatelor măsurătorilor și efectuarea post-procesării de bază sunt toate realizate de sistemele de calcul clasice.

Deci de ce avem nevoie suplimentar de calcul de înaltă performanță? Există mai multe motive. Multe aplicații actuale și anticipate ale calculului cuantic abordează probleme cu spații de căutare extrem de mari. Algoritmii cuantici pot reduce adesea semnificativ dimensiunea acestui spațiu, dar în practică problema rămasă poate fi încă suficient de mare pentru a beneficia de resursele HPC. Mai mult, există algoritmi care echilibrează punctele forte ale HPC și ale calculului cuantic, delegând suficient din muncă la HPC pentru a face algoritmul global mai robust împotriva efectelor zgomotului cuantic.

Un exemplu concret este algoritmul de diagonalizare cuantică bazată pe eșantioane (SQD). Acest algoritm, care va fi explorat în Lecția 4, demonstrează cum HPC și calculul cuantic se pot completa reciproc în practică. Pentru context suplimentar, consultă cursul Quantum Diagonalization Algorithms pe IBM Quantum Learning.

Acest curs este conceput pentru profesioniști și studenți care lucrează — sau intenționează să lucreze — îndeaproape cu infrastructura de calcul de înaltă performanță (HPC) și/sau calculul cuantic. Odată cu progresul rapid al tehnologiilor cuantice, anticipăm un viitor apropiat în care procesoarele cuantice sunt integrate alături de resursele HPC tradiționale pentru a obține rezultate mai precise și a permite noi abordări ale rezolvării problemelor. Acest curs este destinat cursanților care doresc să înțeleagă cum să construiască și să ruleze astfel de fluxuri de lucru hibride.

Deoarece participanții pot proveni din medii diferite, ne așteptăm la două tipuri principale de cursanți: cei cu experiență în HPC, dar noi în calculul cuantic, și cei versați în calculul cuantic, dar noi în HPC. Pentru a ajuta pe toată lumea să obțină maximum din acest curs, oferim recomandări de pregătire pentru ambele grupuri mai jos.

Pentru cei noi în HPC

Acest curs presupune familiarizarea cu conceptele de bază HPC, cum ar fi programarea cu memorie distribuită, transmiterea mesajelor, modelele de programare paralelă și gestionarea resurselor. Vom folosi, de asemenea, instrumente precum managerul de sarcini Slurm. Deși multe dintre aceste concepte vor fi introduse pe scurt după necesitate, o expunere anterioară va face materialul mai accesibil. Resursele utile includ:

Resurse suplimentare sunt disponibile și în acest repo GitHub.

Pentru cei noi în cuantică

Acest curs va utiliza instrumente și concepte fundamentale din calculul cuantic cu o revizuire introductivă minimă. Recomandăm participanților să aibă cel puțin cunoștințe de lucru cu Qiskit, familiarizare cu Gate-urile și Circuit-urile cuantice și o expunere la algoritmii bazați pe eșantionare. Resursele enumerate mai jos ar trebui să ofere o pregătire utilă.

  • IBM Quantum® Composer guide: O prezentare a Composer, un instrument grafic de programare cuantică care îți permite să tragi și să plasezi operații pentru a construi Circuit-uri cuantice și a le rula pe hardware cuantic.
  • Introduction to Qiskit: Un set de ghiduri pentru a te ajuta să instalezi și să configurezi Qiskit.
  • Hello world: Un scurt tutorial despre Qiskit în care configurezi și rulezi primul tău program cuantic.
  • Quantum diagonalization algorithms: Un curs care acoperă mai multe tipuri de algoritmi cuantici, inclusiv SQD, care va fi utilizat în acest curs.

Resurse suplimentare sunt disponibile și în acest repo GitHub.

Cursanții din toate mediile pot găsi acest ghid util; acoperă plugin-ul SPANK pentru gestionarea resurselor cuantice și câteva cuvinte despre Slurm.

Există câteva moduri în care unicitatea calculului cuantic îl face procedural diferit de resursele de calcul clasice, în moduri care sunt relevante pentru acest curs. De exemplu, nu există un analog cuantic bun al RAM-ului. Informațiile sunt stocate și procesate în stările qubiților înșiși. Deși măsurătorile pot permite unor caracteristici ale qubiților să fie înregistrate clasic, astfel de măsurători distrug mare parte din bogăția stării cuantice, inclusiv superpoziția și entanglementul. Mai mult, resursele de calcul cuantic nu sunt în prezent găzduite pe același nod ca alte resurse HPC, iar utilizatorii resurselor cuantice adesea nu vor avea același nivel de control al planificării pe care l-ar putea avea asupra resurselor HPC clasice. Aceste realități vor fi reiterate în lecțiile corespunzătoare. Concluzia de reținut este că calculatoarele cuantice vor schimba lumea și trebuie integrate cu HPC, dar nu sunt „doar o altă" resursă HPC care poate fi controlată și utilizată în același mod ca CPU-urile, GPU-urile etc. Calculatoarele cuantice schimbă modul în care putem aborda multe probleme de calcul.

Despre acest curs

Până la sfârșitul acestui curs, vei putea face mai mult decât să repeți termeni tehnici — vei înțelege cum să gestionezi un flux de lucru hibrid modern care alocă sub-sarcini specifice unui procesor cuantic, în timp ce CPU-urile și GPU-urile gestionează restul muncii. Vei învăța cum să scrii script-uri pentru sarcini care tranziționează fără probleme între nodurile clasice și QPU-uri, să interpretezi rezultatele cu acuratețe și să recunoști unde accelerarea cuantică poate îmbunătăți cu adevărat calculele (și unde nu poate). La fel de important, vei practica menținerea unei mentalități de creștere: într-un domeniu nou și în rapidă evoluție, nimeni nu învață totul dintr-o dată, iar progresul real vine din iterare, experimentare și punerea de întrebări. Acest curs este împărțit în 5 capitole, care acoperă următoarele subiecte:

Structura cursului

  • Lecția 1 - Această lecție a acoperit contextul și motivația
  • Lecția 2 - Resursele de calcul și gestionarea lor
  • Lecția 3 - Modele de programare care includ medii de calcul eterogene
  • Lecția 4 - Algoritmi cuantici pentru fluxuri de lucru hibride, în special SQD
  • Lecția 5 - Perspective și direcții viitoare

Gândește-te la acest curs ca la rampa ta de lansare — locul în care îți construiești setul de instrumente mentale și încrederea în sine pentru a explora frontiera cuantic-clasică mult timp după ce finalizezi ultima lecție.

Referințe

[1] https://www.hpcwire.com/off-the-wire/gordon-bell-prize-awarded-to-ibm-and-leading-university-researchers/