Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Microsoft Quantum Development Kit (QDK) obsahuje sadu kvantových simulátorů, které umožňují spouštět kvantové programy na místním počítači. Před odesláním programů ke spuštění na cílech Azure Quantum využijte místní simulátory k iteraci vašich programů.
Obsahuje QDK čtyři simulátory:
- Sparsní simulátor
- Simulátor Clifford
- Simulátor GPU
- Simulátor CPU
Sparsní simulátor
Řídký simulátor je výchozí simulátor v souboru QDK. Tento simulátor představuje stavy qubitů jako řídké vektory, které využívají zhuštěnou maticovou algebru pro rychlé simulace, zejména pro programy, které nevygenerují mnoho stavů superpozice. Řídký simulátor použijte, když chcete rychlé simulace Q#, OpenQASM nebo Qiskit programů, anebo když chcete zobrazit kvantový stav vašeho programu během simulace.
Řídký simulátor je k dispozici v QDK rozšíření pro Visual Studio Code (VS Code) i v QDKPython balíčku. Tento simulátor je jediným dostupným simulátorem QDK v rozšíření, takže kompilátor při spuštění Q# a OpenQASM programů v editoru VS Code automaticky volá řídký simulátor. Pomocí řídkého simulátoru v editoru VS Code můžete pomocí Q#DumpMachine funkce nebo ladicího programu zobrazit vektory stavu qubitu v různých bodech simulace.
Rozšíření VS Code i balíček Python podporují modely šumu pro řídké simulace programů Q# a OpenQASM. Python Pouze balíček podporuje řídké simulace pro Qiskit programy, ale bez podpory modelu šumu.
Další informace o řídkém simulátoru naleznete v tématu Řídký simulátor.
Simulátor Clifford
Simulátor Clifford je rychlý a efektivní pro programy s až tisíci qubitů, ale může simulovat pouze programy, které obsahují pouze Clifford brány. Clifford brány jsou běžné komponenty obvodů oprav chyb. Sada Clifford bran se skládá z bran H, S a CX bran a všech bran, které lze vytvořit z těchto tří bran. Následující Clifford brány jsou běžné komponenty kvantových obvodů:
- $X$, $Y$ a $Z$
- $S$ a $S^\dagger$
- $H$ nebo Hadamard
- $CX$, $CY$ a $CZ$
- SWAP a iSWAP
Simulátor Clifford je k dispozici v balíčku PythonQDK pro programy Q#, OpenQASM, Qiskit a QIR, ale není k dispozici v rozšíření QDK pro VS Code.
Simulátor GPU
Simulátor GPU je simulátor úplného stavu, který používá stroj GPU k paralelnímu spuštění mnoha běhů vašeho kvantového programu. Tento simulátor může spouštět programy, které obsahují jakýkoli typ brány, ale je nákladný na provoz. Simulátor může modelovat až 27 qubitů. Výkon počítače GPU určuje výkon, ale výkon je optimální pro programy, které mají přibližně 20 qubitů a spoustu snímků.
Simulátor GPU používá QIR nebo Qiskit jako vstup a je k dispozici prostřednictvím rozhraní API určitých balíčků QDKPython, nikoli však prostřednictvím rozšíření pro VS Code. Existuje také bohatá podpora pro modely šumu u jakéhokoli typu kvantové brány nebo operace.
Simulátor CPU
GPU Stejně jako simulátor je simulátor full-state simulátor, CPU který může spouštět programy, které obsahují jakýkoli typ kvantové brány. Simulátor je ale pomalejší, CPU protože nemůže paralelně spustit více snímků. Tento simulátor se škáluje až na zhruba 25 qubitů, ale s nárůstem počtu qubitů zpomaluje exponenciálně kvůli problémům s pamětí. Použijte CPU simulátor, když váš počítač nemá GPU, nebo když má váš program málo qubitů a nespouští mnoho shotů.
Simulátor CPU používá QIR nebo Qiskit jako vstup a je k dispozici prostřednictvím rozhraní API určitých balíčků QDKPython, nikoli však prostřednictvím rozšíření pro VS Code. Existuje také bohatá podpora pro modely šumu u jakéhokoli typu kvantové brány nebo operace.
Jaký simulátor mám použít?
Nejlepší simulátor, který se má použít, závisí na několika faktorech, například:
- Vaše vývojové prostředí (VS Code nebo Python)
- Architektura kvantového programování, ve které vyvíjíte
- Složitost programu a počet snímků
- Hardwarové možnosti místního počítače
- Kvantový hardware, na kterém nebo na jiných cílech chcete spouštět své programy
- Modely šumu, které chcete sestavit
Následující tabulka shrnuje QDK možnosti a architektury kvantového programování, které můžete použít pro každý simulátor:
| Simulátor | Availability | Podporované architektury |
|---|---|---|
| Řídké | Rozšíření VS Code a balíček Python | Q#, OpenQASM, Qiskit |
| Clifford | Python Balíček | Q#, OpenQASM, , QiskitQIR |
| GPU | Python Balíček | Qiskit, QIR |
| CPU | Python Balíček | Qiskit, QIR |
Simulace v QDK rozšíření pro VS Code
Simulátor Sparse je jediným dostupným simulátorem QDK v rozšíření pro VS Code. Pokud chcete použít řídký simulátor, spusťte soubor Q# nebo OpenQASM ve VS Code. Do řídkého simulátoru pro Q# programy v editoru VS Code můžete přidat omezené modely šumu, ale ne pro OpenQASM programy.
Simulace v QDKPython balíčku
Vývojové prostředí QDKPython podporuje více kvantových architektur a všechny čtyři simulátory QDK, ale ne všechny simulátory jsou kompatibilní se všemi architekturami a rozhraními API.
Tato tabulka ukazuje simulátory, které můžete použít pro každé Python rozhraní API, které volá QDK simulátor, a programovací rozhraní, které každé rozhraní API podporuje:
| rozhraní API Python | Řídké | Clifford | GPU | CPU | Programovací architektura |
|---|---|---|---|---|---|
qsharp.run |
✅ | ✅ | Q# | ||
openqasm.run |
✅ | ✅ | OpenQASM | ||
qiskit.QSharpBackend |
✅ | Qiskit | |||
simulation.NeutralAtomDevice |
✅ | ✅ | ✅ | QIR | |
simulation.NeutralAtomBackend |
✅ | ✅ | ✅ | Qiskit | |
simulation.run_qir |
✅ | ✅ | ✅ | QIR |