Ukázka kódu v jazyce Silq pro kvantové počítače

Silq: nový programovací jazyk vyšší úrovně pro kvantové počítače

Kvantové počítače využívají speciální kvantové algoritmy. Chceme-li využít eventuální vyšší rychlost kvantových počítačů, úlohu je třeba jim předat právě v příslušném algoritmu, asi ve stylu „vezmi qubit x, provaž ho s qubity y a z, poté změň hodnoty spinu těchto elektronů pomocí laseru tak, že…“.
Příslušné programování dosud funguje na opravdu nízké úrovni, vyžaduje znát konkrétní hardwarové uspořádání kvantového počítače a tomu odpovídají i současné „kvantové jazyky“. To je samozřejmě velmi nepohodlné a navíc programy nejsou přenositelné. Samotné kvantové algoritmy jsou naopak abstraktní. Specialisté by proto uvítali – prozatím – „něco mezi“: vyšší programovací jazyk, který by umožnil podle kvantového algoritmu vytvářet přenositelné programy, jejichž tvůrci by mohli odhlédnout od konkrétního hardwaru a psát složitější/abstraktnější a přitom i dobře srozumitelné/jednoduché a dostatečně krátké konstrukce, s nimiž mohou dále pracovat i ostatní programátoři. Pro konkrétní kvantový počítač by se pak tento program převedl až ve fázi kompilace, ta by zase vyžadovala pouze zakliknout výběr platformy.
Právě toto nabízí projekt vyvíjený na ETH Zurich, uvádí prof. Martin Vechev. Výsledkem těchto ambicí je návrh jazyka Silq. Autoři se domnívají, že je vhodnější než Q#, který pro programování kvantových počítačů navrhuje Microsoft. Srovnávají oba jazyky z hlediska délky kódu, využívání hradel, knihoven a vestavěných funkcí. Silq byl navržen ve spolupráci specialistů na design programovacích jazyků, implementaci i kvantové počítače/kvantovou fyziku speciálně. Jeho uživatel by v první řadě měl být programátor snažící se algoritmicky vyřešit problém, aniž přitom nutně chápe detaily výpočetní architektury (některé operace jsou „quantum free“, vyžadují pouze běžné programovací příkazy). Jako hlavní přínos jazyka se uvádí tzv. uncomputation. V klasických počítačích se dále nepotřebné mezivýsledky mažou (garbage collection), čím se docílí uvolnění paměti. V kvantových počítačích ale mohou být tyto již nepotřebné „zbytky výpočtů“, respektive qbity, kvantově provázány s těmi aktuálně používanými, takže čištění paměti je třeba provádět sofistikovaněji. A právě o to stará metoda uncomputation. Silq, uvádějí jeho autoři, je první kvantový programovací jazyk, který dokáže identifikovat a mazat již nepotřebná data automaticky (poznámka: nebo se tím prostě myslí, že programátor může uvolnění paměti inicializovat jednoduchým příkazem?) a přitom bezpečně.
Podrobnější informace, ukázky kódu, dokumentace včetně možnosti si jazyk/prostředí stáhnout jsou k dispozici na https://silq.ethz.ch/.

Benjamin Bichsel et al, Silq: a high-level quantum language with safe uncomputation and intuitive semantics, Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (2020). DOI: 10.1145/3385412.3386007
Zdroj: ETH Zurich/TechXplore.com

Důkazy o primordiálních černých dírách se mohou skrývat v planetkách, nebo dokonce v běžných objektech na Zemi

Extrémní podmínky raného vesmíru možná umožnily vznik mnoha malých černých děr dávno před zrodem prvních …

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *