Ziele in Azure Quantum

In diesem Artikel werden die verschiedenen Arten von Targets vorgestellt, die in Azure Quantum und dem Quantum Development Kit (QDK) verfügbar sind. Ziele in Azure Quantum können Solver für Optimierungsprobleme oder Quantengeräte (entweder physisch oder simuliert) sein, die Sie zum Ausführen von Q#-Quantenanwendungen verwenden können.

Derzeit umfasst Azure Quantum die folgenden Typen von Zielen:

Optimierungs-Solver

Azure Quantum bietet Optimierungsziele zur Lösung binärer Optimierungsprobleme auf klassischen CPUs oder Hardwarebeschleunigte auf FPGA (Field Programmable Gate Arrays), GPUs oder Hardware-Kühlern.

Weitere Informationen zur Optimierung finden Sie unter Optimierungs-Solver.

Quantengeräte

Azure Quantum bietet auch eine Vielzahl von Quantenlösungen, wie z. B. verschiedene Hardware-Geräte und Quantensimulatoren. Im Moment weisen diese Geräte aufgrund des frühen Entwicklungsstadiums des Gebiets einige Einschränkungen und Anforderungen für Programme auf, die darauf ausgeführt werden sollen. Das Quantum Development Kit und Azure Quantum behalten diese Anforderungen im Hintergrund im Auge, sodass Sie Q#-Programme auf Azure Quantum-Targets ausführen können.

Quantum Processing Units (QPU): verschiedene Profile

Eine Quantenverarbeitungseinheit (QPU) ist ein physikalischer oder simulierter Prozessor, der eine Anzahl miteinander verbundener Qubits enthält, die zur Berechnung von Quantenalgorithmen manipuliert werden können. Es ist die zentrale Komponente eines Quantencomputers.

Quantengeräte sind noch eine aufstrebende Technologie, und nicht alle können den gesamten Q#-Code ausführen. Aus diesem Grund müssen Sie bei der Entwicklung von Programmen für verschiedene Ziele einige Einschränkungen berücksichtigen. Derzeit verwalten Azure Quantum und das QDK drei verschiedene Profile für QPUs:

  • Vollständig: Dieses Profil kann jedes Q#-Programm innerhalb der Grenzen des Speichers für simulierte Quantenverarbeitungseinheiten (QPU) oder der Anzahl der Qubits der physikalischen Quantenhardware ausführen.
  • Ohne Ablaufsteuerung: Dieses Profil kann ein beliebiges Q#-Programm ausführen, das die Ergebnisse aus Qubit-Messungen nicht zum Steuern des Programmablaufs verwenden muss. In einem Q#-Programm, das für diese Art von QPU konzipiert ist, unterstützen Werte vom Typ Result keinen Vergleich auf Gleichheit.
  • Einfaches Messfeedback: Dieses Profil besitzt begrenzte Funktionen zum Verwenden der Ergebnisse aus Qubit-Messungen zum Steuern des Programmablaufs. In einem Q#-Programm, das für diese Art von QPU konzipiert ist, können Sie nur Werte vom Typ Result als Teil von Bedingungen innerhalb von if-Anweisungen in Vorgängen vergleichen. Die entsprechenden Bedingungsblöcke dürfen keine return- oder set-Anweisungen enthalten.

Nächste Schritte

Eine vollständige Liste der Azure Quantum Ziele finden Sie im Artikel Liste der Ziele von Azure Quantum.