Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Quantum Development Kit (QDK), yerel makinenizde kuantum programları çalıştırmanıza olanak sağlayan bir dizi kuantum simülatörü içerir. Azure Quantum hedeflerinde çalıştırılacak şekilde göndermeden önce programlarınızı yinelemek için yerel simülatörleri kullanın.
dört QDK simülatöre sahiptir:
- Seyrek simülatör
- Simülatör Clifford
- Simülatör GPU
- Simülatör CPU
Seyrek simülatör
Seyrek simülatör, QDK içindeki varsayılan simülatördür. Bu simülatör, özellikle çok fazla süper konum durumu oluşturmayan programlar için hızlı simülasyonlar için seyrek matris cebirinin avantajlarından yararlanmak için seyrek vektörler olarak kubit durumlarını temsil eder. , Q#veya programlarının OpenQASMhızlı simülasyonlarını istediğinizde veya Qiskit simülasyon sırasında programınızın kuantum durumunu görüntülemek istediğinizde seyrek simülatörünü kullanın.
Seyrek simülatörü, hem Visual Studio Code (VS Code) için QDK uzantısında hem de QDKPython paketinde kullanılabilir. Bu simülatör uzantıda kullanılabilen tek simülatördür, dolayısıyla VS Code'da QDK çalıştırdığınızda Q# ve OpenQASM programladığınızda derleyici seyrek simülatörü otomatik olarak çağırır. VS Code'daki seyrek simülatör ile işlevi veya hata ayıklayıcıyı kullanarak Q#DumpMachine simülasyonda farklı noktalarda kubit durum vektörlerini görüntüleyebilirsiniz.
Hem VS Code uzantısı hem de Python paketi, OpenQASM ve Q# programlarının seyrek simülasyonları için gürültü modellerini destekler. Yalnızca Python paketi, Qiskit programları için seyrek simülasyonu destekler; ancak gürültü modeli desteği yoktur.
Seyrek simülatör hakkında daha fazla bilgi için bkz. Seyrek simülatör.
Simülatör Clifford
Simülatör Clifford , binlerce kubit içeren programlar için hızlı ve verimlidir, ancak yalnızca Clifford kapı içeren programların simülasyonunu yapabilir. Clifford geçitler, hata düzeltme devrelerinin yaygın bileşenleridir. Kapı kümesi Clifford H, S ve CX kapılarından ve bu üç kapıdan inşa edilebilecek tüm kapılardan oluşur. Aşağıdaki Clifford geçitler kuantum devrelerinin yaygın bileşenleridir:
- $X$, $Y$ ve $Z$
- $S$ ve $S^\dagger$
- $H$ veya Hadamard
- $CX$, $CY$ ve $CZ$
- SWAP ve iSWAP
Simülatör Clifford paketinde QDKPython , OpenQASM, Qiskitve QIR programları için Q#kullanılabilir, ancak VS Code uzantısında QDK kullanılamaz.
Simülatör GPU
Simülatör GPU, makinenizin GPU'unu kullanarak kuantum programınızın birçok çekimini paralel olarak çalıştıran tam durumlu bir simülatördür. Bu simülatör herhangi bir tür geçit içeren programları çalıştırabilir, ancak çalıştırılması pahalıdır. Simülatör en fazla 27 kubit modelleyebilir. Makinenizin GPU gücü performansı belirler, ancak en iyi performans yaklaşık 20 kubit içeren ve çok sayıda ölçüm alan programlarda elde edilir.
GPU simülatörü, girdi olarak Qiskit veya QIR alır ve belirli QDKPython paket API’leri aracılığıyla kullanılabilir, ancak VS Code uzantısı aracılığıyla kullanılamaz. Ayrıca her tür kuantum kapısı veya işlemde gürültü modelleri için zengin destek sağlanır.
Simülatör CPU
GPU Simülatör gibi, CPU simülatör de herhangi bir kuantum geçidi türü içeren programları çalıştırabilen tam durumlu bir simülatördür. Ancak, CPU simülatör paralel olarak birden fazla çekim çalıştıramadığından daha yavaştır. Bu simülatör yaklaşık 25 kubite kadar ölçeklendirilir, ancak bellek sorunları nedeniyle daha fazla kubitle üstel olarak yavaşlar. CPU Makinenizde bir GPUolmadığında veya programınızın kubit sayısı az olduğunda ve çok fazla çekim yapmıyorsanız simülatörü kullanın.
CPU simülatörü, girdi olarak Qiskit veya QIR alır ve belirli QDKPython paket API’leri aracılığıyla kullanılabilir, ancak VS Code uzantısı aracılığıyla kullanılamaz. Ayrıca her tür kuantum kapısı veya işlemde gürültü modelleri için zengin destek sağlanır.
Hangi simülatörü kullanmalıyım?
Kullanılacak en iyi simülatör aşağıdakiler gibi çeşitli faktörlere bağlıdır:
- Geliştirme ortamınız (VS Code veya Python)
- Geliştirme aşamasında olduğunuz kuantum programlama çerçevesi
- Programınızın karmaşıklığı ve çekim sayısı
- Yerel makinenizin donanım özellikleri
- programlarınızı çalıştırmak istediğiniz Azure Quantum hedefleri veya diğer kuantum donanımı
- Oluşturmak istediğiniz gürültü modelleri
Aşağıdaki tabloda, her simülatör için kullanabileceğiniz seçenekler ve kuantum programlama çerçeveleri özetlenmektedir QDK :
| Simülatör | Availability | Desteklenen çerçeveler |
|---|---|---|
| Seyrek | VS Code uzantısı ve Python paketi | Q#, OpenQASM, Qiskit |
| Clifford | Python Paket | Q#, OpenQASM, Qiskit, QIR |
| GPU | Python Paket | Qiskit, QIR |
| CPU | Python Paket | Qiskit, QIR |
VS Code uzantısındaki QDK simülasyonlar
Sparse simülatör, VS Code uzantısında mevcut tek simülatördür. Seyrek simülatörünü kullanmak için Q# veya OpenQASM dosyanızı VS Code'da çalıştırın. VS Code'daki Q# programları için seyrek simülatöre sınırlı gürültü modelleri ekleyebilirsiniz, ancak OpenQASM programları için ekleyemezsiniz.
Paketteki QDKPython simülasyonlar
QDK Python geliştirme ortamı birden çok kuantum çerçevesini ve dört QDK simülatörünü destekler, ancak tüm simülatörler tüm çerçeveler ve API'lerle uyumlu değildir.
Bu tabloda, simülatör Python çağıran her QDK API için kullanabileceğiniz simülatörler ve her API'nin desteklediği programlama çerçevesi gösterilir:
| Python API (Uygulama Programlama Arayüzü) | Seyrek | Clifford | GPU | CPU | Programlama çerçevesi |
|---|---|---|---|---|---|
qsharp.run |
✅ | ✅ | Q# | ||
openqasm.run |
✅ | ✅ | OpenQASM | ||
qiskit.QSharpBackend |
✅ | Qiskit | |||
simulation.NeutralAtomDevice |
✅ | ✅ | ✅ | QIR | |
simulation.NeutralAtomBackend |
✅ | ✅ | ✅ | Qiskit | |
simulation.run_qir |
✅ | ✅ | ✅ | QIR |