Panimula
Maligayang Pagdating sa Frontierโ
Sa buong kasaysayan, mabilis na lumago ang ating siyentipikong pag-unawa sa mundo tuwing may mga bagong kasangkapan na nagiging available โ mga kasangkapang nagbibigay-daan sa atin na magtanong ng mga bagong katanungan, magsagawa ng mas malalaking eksperimento, at mag-imbestiga ng mga bagong larangan ng pananaliksik. Kabilang sa mga kasangkapang iyon ang teleskopyo, mikroskopyo, at ang Large Hadron Collider. Bawat isa ay nagbigay ng access sa mga bagong uri ng siyentipikong natuklasan. Noong dekada 1960, nasaksihan din natin ang pag-unlad ng high-performance computing (HPC), na naging isang mahalagang kasangkapan sa paglutas ng mga kumplikadong gawaing pangkompyutasyon, kasama na ang maraming mahahalagang hamon sa agham.
Ngayon, mayroon na tayong isa pang mahalagang kasangkapan para sa siyentipikong pag-unlad: ang mga quantum computer. Bagama't bagong teknolohiya pa ito, ang mga quantum computer ay may potensyal na malaki ang maidudulot sa mga uri ng mga problema sa kompyutasyon na maaari nating malutas nang mahusay. Ang kursong ito ay tungkol sa pag-unawa kung paano mapalawak ng mga teknolohiyang ito, na nagtatrabaho nang magkasama, ang mga hangganan ng posible sa kompyutasyon.
Malinaw ngunit ambisyoso ang ating misyon: bigyan kayo ng konseptwal at praktikal na kaalaman na kailangan para gamitin ang mga teknolohiyang ito upang matugunan ang ilan sa mga pinaka-mahirap na problema ng mundo.
Inilalarawan ng video na ito ang mga layunin ng kursong ito at ang motibasyon sa likod ng pagsasama ng HPC at quantum computing.
HPCโ
Ano nga ba ang high-performance computing? Ang high-performance computing ay naging pundasyon sa paglutas ng mga modernong problema sa kompyutasyon. Hindi na tayo nabubuhay sa panahon na ang mga advanced na problema ay maaaring malutas gamit ang mga simpleng kasangkapan tulad ng abakus o panulat at papel; sa halip, nagtatrabaho na tayo sa mga tanong at dataset na nangangailangan ng napakalaking kapangyarihan sa kompyutasyon.
Ang larangan ng high-performance computing ay maaaring subaybayan ang mga ugat nito sa pag-unlad ng mga pinakamaagang supercomputer noong dekada 1960. Ang mga ito ay mga makina na espesyal na idinisenyo upang malutas ang malalaking siyentipiko at inhinyerong problema nang mas mabilis kaysa sa mga karaniwang computer.
Isa sa mga unang kilalang supercomputer ay ang CDC 6600 (1964), itinayo ni Seymour Cray, na madalas tinutukoy bilang ama ng supercomputing. Ang CDC 6600 ay ang pinakamabilis na computer ng panahon nito, gumagamit ng makabagong arkitektura na kinabibilangan ng parallel functional units at pipelining โ mga konsepto na ginagamit pa rin sa HPC ngayon.
Patuloy na pinasulong ni Cray ang larangan sa Cray-1 (1976), na nagpakilala ng vector processing โ isang teknik na lubos na nagpabilis ng mga operasyon sa malalaking array ng data, na ginagawa itong angkop para sa siyentipikong kompyutasyon.
Nang magsimulang mag-level off ang mga bilis ng single-processor, nag-evolve ang HPC patungo sa parallel computing โ ang paggamit ng maraming processor na nagtatrabaho nang magkasama sa iba't ibang bahagi ng isang problema. Sa dekada 1980 at 1990, naging karaniwan ang mga parallel architecture sa HPC. Sa maagang bahagi ng 2000s, lumipat ang HPC patungo sa mga cluster ng commodity hardware, na mga karaniwang server na konektado ng mabilis na network. Ang paglipat na ito ay nagpababa ng gastos ng supercomputing at nagbigay ng mas malawak na access sa HPC.
Sa buong ebolusyong ito, ang IBMยฎ ay nasa unahan ng pananaliksik at implementasyon ng HPC. Kapansin-pansin, ang mga IBM Blue Gene supercomputer ay isa sa mga pinaka-impluwensyal na pamilya ng supercomputer noong 2000s at maagang bahagi ng 2010s. Ito ay isang panahon ng napakalaking paglago sa massively parallel systems, kung saan ang Blue Gene/Q ay isang halimbawa, na ang isang instance (Sequoia) ay may 100,000 node. Ang IBM-built Oak Ridge Summit ay ang unang HPC resource na nakamit ang ExaOPS (1.88 mixed precision) noong 2018.
Ngayon, nasa exascale era na tayo, kung saan ang mga supercomputer ay maaaring magsagawa ng operasyon bawat segundo (exaflops). Ang unang supercomputer na nakarating sa milestone na ito ay ang Frontier, na matatagpuan sa Oak Ridge National Laboratory.
Kaya bakit kailangan natin ng ganoon kalakas na mga mapagkukunan sa kompyutasyon? May mga problemang kritikal sa kagalingan ng tao na nangangailangan ng mga ganitong sukdulan na mapagkukunan para ma-model o malutas. Kabilang sa mga halimbawa ang mga modelo ng klima, pag-aaral ng istruktura at galaw ng mantle ng Mundo, at mga simulasyon ng fluid dynamics.
Marami sa mga ganitong uri ng problema ang tinatackle ng mga IBM Researcher at mga collaborator na nagtatrabaho sa mga IBM system. Ang patuloy na pamumuno na ito ay malawak na kinikilala. Halimbawa, ang mga mananaliksik ng IBM ay nanalo ng Gordon Bell Prize nang anim na beses.[1]
Ang HPC ay isang napaka-aktibong larangan na regular na nalalagpasan ang mga hangganan. Para sa isang pangkalahatang-ideya ng mga modernong kakayahan, tingnan ang listahang ito ng Top 500 supercomputer.
Quantum computingโ
Ang quantum computing ay isang bagong paradigma sa kompyutasyon na hindi lamang sumusunod sa unti-unting pag-unlad ng mga klasikal na computer. Nilalayon nitong gamitin ang mga quantum na katangian ng superposition, entanglement, at quantum interference upang malutas ang mga problemang magiging intractable para sa mga klasikal na computer nang mag-isa. Hindi natin ito pag-aaralan nang detalyado sa kursong ito โ tingnan ang Mga Pangunahing Kaalaman sa Quantum Information para sa higit pa tungkol dito โ sa halip, tatalakayin natin kung paano ang pagsasama ng dalawang imprastraktura na ito ay maaaring humantong sa mga breakthrough sa applied science.
Isang hybrid na diskarteโ
Pinaka-mahalaga itong bigyang-diin: ang dalawang paradigmang ito sa kompyutasyon ay hindi mga kakumpitensya. Nasa panahon tayo kung saan ang mga na-optimize na workflow ay nangangailangan na ang dalawang paradigma ay mag-complement sa isa't isa at magtakda ng gawain kung saan ito pinaka-epektibong hawakan. Hindi papalitan ng mga quantum computer ang mga klasikal na sistema; sa halip, ang kinabukasan ng siyentipikong kompyutasyon ay lalong magiging umaasa sa mga hybrid workflow kung saan nagbibigay ang HPC ng mataas na performance na klasikal na pagpoproseso, at ang quantum computing ay nag-aambag ng natatanging mga kakayahan. Bilang isang practitioner, mananaliksik, o technologist, ang pag-unawa kung paano pagsasamahin ang mga kasangkapang ito ay magpoposisyon sa iyo bilang isang lider sa susunod na panahon ng siyentipiko at teknolohikal na pag-unlad.
Susuriin natin kung paano ang quantum computing at HPC ay nakaposisyon upang paganahin ang mga breakthrough sa malawak na hanay ng mga industriya, kabilang ang:
-
Kimika: Pagpapabilis ng pagkilala ng mga bagong gamot at materyales.
-
Enerhiya: Pagdidisenyo ng mga pinahusay na katalis, baterya, at mga solusyon sa malinis na enerhiya.
-
Pananalapi: Pag-model ng panganib, pag-optimize ng mga portfolio, at pagbuo ng mga bagong instrumento sa pananalapi.
-
AI at Machine Learning: Pagpapahusay ng pagsasanay ng modelo, pag-optimize, at pagsusuri ng data.
Bakit tayo lumampas sa klasikalโ
Nagtagumpay nang malaki ang mga tao sa mga lugar ng aplikasyon sa itaas gamit ang HPC. Gayunpaman, kahit na ang mga pinakamabilis na supercomputer sa mundo ay nakakaranas ng kahirapan kapag ang mga problema ay lumalaki nang factorially o exponentially sa laki ng problema. Halimbawa, ang pag-listahan ng bawat posibleng ayos ng 50 na particle sa loob ng isang kumplikadong molekula ay humahantong sa mga configuration na lumalaki nang hindi bababa sa factorially, na nangangailangan ng mas maraming memorya kaysa sa lahat ng data center sa Mundo ay maaaring magbigay.
Isa pang halimbawa ay ang pagpaplano ng ruta ng paghahatid para sa 10,000 lungsod: ang bilang ng mga posibleng ruta ay nagiging napakadami na, kahit ang bawat computer na itinayo man lang ay nagsubok ng isang ruta bawat microsecond, ang kalkulasyon ay tatagal nang maramihang orden ng magnitude kaysa sa kasalukuyang edad ng ating Araw. Ang mga kabuuang ito ay hindi lamang malaki; lumalaki sila nang exponentially, ibig sabihin bawat karagdagang particle o lungsod ay nagpaparami ng computational burden nang higit pa sa simpleng scaling.
Maaari tayong magdagdag ng mga GPU, ngunit ang manipulasyon ng ganitong napakalaking dami ng data ay gumagamit na ng mga megawatt ng kuryente at nangangailangan ng mga pasilidad na kasing laki ng mga bodega. Sa isang punto, ang klasikal na hardware ay hindi na maaaring mag-scale nang mas malayo sa isang praktikal o abot-kayang paraan. Ito ang dahilan kung bakit ang mga mananaliksik ay lumiliko sa mga quantum processor, na nag-iimbak ng impormasyon sa mga superposition at minsan ay direktang maaaring matugunan ang mga problemang ito ng exponential na paglago, na nalulutas ng mga tiyak na kaso na hindi maaaring makumpleto ng mga klasikal na makina sa anumang makatwirang timeframe.
Ang HPC ay kalaunan ay umaabot sa mga pundamental na limitasyon na dikta ng combinatorics at thermodynamics. Ang quantum computing ay hindi inaalis ang mga limitasyong iyon, ngunit minsan ay maaari itong laktawan ang mga ito sa ilang partikular na sitwasyon.
Bakit hindi quantum nang mag-isa?โ
Kung ang quantum computing ay maaaring laktawan ang ilang limitasyon ng klasikal na kompyutasyon, bakit hindi na lang tayo umasa nang buo sa mga quantum computer? Ang una at pinaka-obvious na dahilan ay ang mga quantum computer ay nangangailangan pa rin ng mga klasikal na makina upang gumana. Ang mga gawaing tulad ng pag-compile at pagpapakain ng mga circuit sa quantum processor, pag-iimbak ng mga resulta ng pagsukat, at pagsasagawa ng pangunahing post-processing ay lahat ay ginagawa ng mga klasikal na sistema ng kompyutasyon.
Kaya bakit kailangan pa natin ng high-performance computing? Mayroon ilang dahilan. Marami sa kasalukuyan at inaasahang mga aplikasyon ng quantum computing ang tumutugon sa mga problema na may napakalaking search space. Ang mga quantum algorithm ay madalas na maaaring bawasan ang laki ng espasyong ito nang malaki, ngunit sa praktis ang natitirang problema ay maaaring sapat na malaki upang makinabang mula sa mga mapagkukunan ng HPC. Bukod pa rito, mayroong mga algorithm na nagbabalanse ng mga kalakasan ng HPC at quantum computing, na nagtatapon ng sapat na bahagi ng trabaho sa HPC upang gawing mas matibay ang pangkalahatang algorithm laban sa mga epekto ng quantum noise.
Isang kongkretong halimbawa ay ang sample-based quantum diagonalization (SQD) algorithm. Ang algorithm na ito, na tatalakayin sa Aralin 4, ay nagpapakita kung paano maaaring mag-complement ang HPC at quantum computing sa isa't isa sa praktis. Para sa karagdagang background, tingnan ang Quantum Diagonalization Algorithms na kurso sa IBM Quantum Learning.
Inirerekomendang Paghahandaโ
Ang kursong ito ay idinisenyo para sa mga propesyonal at estudyante na nagtatrabaho โ o nagplanong magtrabaho โ nang malapit sa high-performance computing (HPC) na imprastraktura at/o quantum computing. Sa mabilis na pag-unlad ng mga quantum na teknolohiya, inaasahan natin ang isang malapit na kinabukasan kung saan ang mga quantum processor ay isinama kasabay ng tradisyonal na mga mapagkukunan ng HPC upang makamit ang mas tumpak na mga resulta at paganahin ang mga bagong diskarte sa paglutas ng problema. Ang kursong ito ay para sa mga mag-aaral na gustong maunawaan kung paano bumuo at magpatakbo ng mga ganitong hybrid na workflow.
Dahil maaaring manggaling ang mga kalahok mula sa iba't ibang background, inaasahan namin ang dalawang pangunahing uri ng mga mag-aaral: ang mga may karanasan na sa HPC ngunit bago sa quantum computing, at ang mga bihasa sa quantum computing ngunit bago sa HPC. Upang matulungan ang lahat na mapakinabangan ang kursong ito nang husto, nagbibigay kami ng mga rekomendasyon sa paghahanda para sa parehong grupo sa ibaba.
Para sa mga bago sa HPCโ
Ipinapalagay ng kursong ito ang pagiging pamilyar sa mga pangunahing konsepto ng HPC tulad ng distributed memory programming, message passing, parallel programming models, at resource management. Gagamitin din natin ang mga kasangkapan tulad ng Slurm workload manager. Bagama't marami sa mga konseptong ito ay maikling ipapakilala kung kinakailangan, ang pagkakaroon ng ilang dating exposure ay gagawing mas accessible ang materyal. Mga kapaki-pakinabang na mapagkukunan:
- HPC Wiki: Isang pahina na may mga kahulugan at mga diskarte sa high-performance computing.
- Slurm Wikipedia page: Nagbibigay ng maikling background at mga tala sa malawak na paggamit.
- Slurm quick start page: Ilang background, mga tala sa pagsisimula, at listahan ng mga pangunahing Slurm command.
- MPI tutorial: Isang pangunahing Hello World gamit ang MPI.
Ang karagdagang mga mapagkukunan ay ibinibigay din sa GitHub repo na ito.
Para sa mga bago sa quantumโ
Gagamitin ng kursong ito ang mga pangunahing kasangkapan at konsepto mula sa quantum computing nang may minimal na panimulang pagsusuri. Inirerekomenda namin na ang mga kalahok ay may kahit na gumaganang kaalaman ng Qiskit, pagiging pamilyar sa mga quantum gate at circuit, at ilang exposure sa mga sampling-based algorithm. Ang mga mapagkukunan na nakalista sa ibaba ay dapat magbigay ng kapaki-pakinabang na paghahanda.
- IBM Quantumยฎ Composer guide: Isang walkthrough ng Composer, isang graphical quantum programming tool na nagbibigay-daan sa iyo na mag-drag and drop ng mga operasyon upang bumuo ng mga quantum circuit at patakbuhin ang mga ito sa quantum hardware.
- Introduction to Qiskit: Isang set ng mga gabay upang tulungan kang mag-install at mag-configure ng Qiskit.
- Hello world: Isang maikling tutorial sa Qiskit kung saan mo i-set up at pinapatakbo ang iyong unang quantum program.
- Quantum diagonalization algorithms: Isang kurso na sumasaklaw sa ilang uri ng quantum algorithm, kabilang ang SQD na gagamitin sa kursong ito.
Ang karagdagang mga mapagkukunan ay ibinibigay din sa GitHub repo na ito.
Maaaring maakit ang mga mag-aaral ng lahat ng background sa gabay na ito; sinasaklaw nito ang SPANK plugin para sa quantum resource management at ilang salita tungkol sa Slurm.
Mayroong ilang paraan kung saan ang pagiging natatangi ng quantum computing ay nagpapabago nito nang prosedural mula sa mga klasikal na mapagkukunan ng kompyutasyon sa mga paraang materyal sa kursong ito. Halimbawa, walang magandang quantum analog ng RAM. Ang impormasyon ay iniimbak at pinoproseso sa mga estado ng mga qubit mismo. Bagama't ang mga pagsukat ay maaaring magpahintulot sa ilang tampok ng mga qubit na maitala nang klasikal, ang mga ganitong pagsukat ay sinisira ang karamihan sa kayamanan ng quantum state, kabilang ang superposition at entanglement. Bukod pa rito, ang mga mapagkukunan ng quantum computing ay kasalukuyang hindi nakalagay sa parehong node tulad ng ibang mga mapagkukunan ng HPC, at ang mga gumagamit ng mga quantum resource ay madalas ay walang parehong antas ng scheduling control na maaaring mayroon sila sa klasikal na HPC resource. Ang mga katotohanang ito ay uulitin sa angkop na mga aralin. Ngunit ang pangunahing punto dito ay ang mga quantum computer ay magbabago ng mundo at dapat isama sa HPC, ngunit hindi sila "isa pang" HPC resource na maaaring kontrolin at gamitin sa parehong paraan tulad ng mga CPU, GPU, atbp. Binabago ng mga quantum computer ang paraan ng ating pagtugon sa maraming problema sa kompyutasyon.
Tungkol sa kursong itoโ
Sa pagtatapos ng kursong ito, makakaya mong gawin ang higit pa sa simpleng pag-ulit ng mga teknikal na termino โ maiintindihan mo kung paano pamahalaan ang isang modernong hybrid na workflow na nagtatalaga ng mga tiyak na sub-task sa isang quantum processor habang hawak ng mga CPU at GPU ang natitirang trabaho. Matututo kang sumulat ng mga script para sa mga trabaho na maayos na naglilipat sa pagitan ng mga klasikal na node at QPU, bigyang-kahulugan ang mga resulta nang may katumpakan, at kilalanin kung saan ang quantum acceleration ay tunay na maaaring mapabuti ang mga kalkulasyon (at kung saan hindi ito maaari). Pantay na mahalaga, magsasanay ka sa pagpapanatili ng growth mindset: sa isang bago at mabilis na umuusbong na larangan, walang sinuman ang natututo ng lahat nang sabay-sabay, at ang tunay na pag-unlad ay nanggagaling sa pag-ulit, pag-eksperimento, at pagtatanong. Ang kursong ito ay nahahati sa 5 kabanata, na sumasaklaw sa mga sumusunod na paksa:
Balangkas ng kursoโ
- Aralin 1 - Ito ang araling ito na sumasaklaw sa background at motibasyon
- Aralin 2 - Mga mapagkukunan sa kompyutasyon at ang pamamahala ng mga ito
- Aralin 3 - Mga programming model na kinabibilangan ng mga heterogeneous na kapaligiran sa kompyutasyon
- Aralin 4 - Mga quantum algorithm para sa mga hybrid na workflow, partikular na ang SQD
- Aralin 5 - Kinabukasan at direksyon
Isipin ang kursong ito bilang iyong launchpad โ ang lugar kung saan mo itinatatag ang mental toolkit at kumpiyansa sa sarili upang tuklasin ang quantum-classical frontier matagal pagkatapos mong makumpleto ang huling aralin.