Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Quantum Intermediate Representation (QIR)

QIR ist eine von Microsoft entwickelte Zwischendarstellung für Quantenprogramme, die auf der Open-Source-Zwischensprache LLVM basiert. QIR spezifiziert eine Reihe von Regeln für die Darstellung von Quantenkonstrukten im LLVM.
QIR soll als gemeinsame Schnittstelle zwischen vielen Sprachen und Quantencomputer-Plattformen dienen. Obwohl Q# unterstützt wird, ist QIR nicht spezifisch für Q#: jede Programmiersprache für Gate-basierte Quantenberechnungen kann in QIR dargestellt werden. In ähnlicher Weise ist QIR hardware-agnostisch: es spezifiziert keinen Quantenbefehl oder Gate-Satz und überlässt dies der Zielumgebung.Mit zunehmender Reife der Quanten-Computing-Fähigkeiten erwartet Microsoft – so schreibt Microsoft-Mitarbeiter Alan Geller in diesem Blogbeitrag –, dass die meisten groß angelegten Quantenanwendungen die Vorteile der Zusammenarbeit von klassischen und Quanten-Computing-Ressourcen voll ausschöpfen werden. LLVM bietet der QIR volle Fähigkeiten zur Beschreibung reichhaltiger klassischer Berechnungen, die vollständig in die Quantenberechnung integriert sind. Die Verwendung von LLVM erleichtert auch die Integration mit den vielen klassischen Sprachen und Werkzeugen, die bereits von der LLVM-Werkzeugkette unterstützt werden. Es fördert auch die Entwicklung gemeinsamer sprach- und backend-unabhängiger Optimierungen und Code-Transformationen, die auf einem bekannten und robusten Open-Source-Framework basieren.Ein übliches Muster bei Compilern besteht darin, zunächst die Quellsprache in eine Zwischendarstellung zu kompilieren. Diese Zwischenform ist typischerweise so ausgelegt, dass viele verschiedene Quellsprachen dargestellt werden können. Während sich der Code noch in der Zwischendarstellung befindet, kann er optimiert und transformiert werden. Sobald die tatsächliche Ausführungsplattform bekannt ist, wird die Zwischendarstellung schließlich zu tatsächlich ausführbarem Code kompiliert.Dieser Ansatz ermöglicht es vielen Quellsprachen, einen gemeinsamen Satz von Optimierern und ausführbaren Generatoren zu verwenden. Er macht es auch einfach, eine einzige Quellsprache für viele verschiedene Ziele zu kompilieren. Die Zwischendarstellung stellt eine gemeinsame Plattform zur Verfügung, die von vielen Quellen und Zielen gemeinsam genutzt werden kann und eine weitgehende Wiederverwendung in Compiler-Maschinen ermöglicht.

Was kann man mit QIR tun?

Eine durch QIR ermöglichte Anwendung ist die Verwendung des Clang-Compilers, um QIR in ausführbaren Maschinencode für ein klassisches Ziel zu kompilieren. Dies bietet einen einfachen Weg zum Aufbau eines Simulators in C oder C++ durch Implementierung von Quantenbefehlssatzfunktionen.Eine weitere Anwendung ist die Verwendung der Standard-"Pass"-Infrastruktur des LVM, um Quantenoptimierer zu schreiben, die mit QIR arbeiten. Der quell- und zielunabhängige Ansatz von QIR ermöglicht die Verwendung von Optimierungen mit vielen verschiedenen Berechnungssprachen und Rechnerplattformen.Microsoft hat QIR bereits mit einigen Partnern geteilt, um frühzeitiges Feedback zu erhalten. So sagt beispielsweise Alex McCaskey, Quanteninformatiker und XACC-Projektleiter des Oak Ridge National Laboratory, Alex McCaskey: "Das ORNL arbeitet eng mit dem Quantencompiler-Team von Microsoft zusammen, um die Kompilierung von Q#-Programmen auf hoher Ebene für die verschiedenen Quantenhardware-Plattformen von OLCF durch die Integration mit dem Quantenprogrammier-Framework XACC zu ermöglichen.Weitere Informationen und Links finden Sie in diesem Blogbeitrag von Alan Geller.
Miscellaneous

Neueste Beiträge

Simple Recipes – User Interface und Plattformanpassungen - Moderne UI-Gestaltung mit der Uno Platform, Teil 5
Fortsetzung des praxisnahen Mini-Projekts: Das Beispiel der Rezepte-App „Simple Recipes“ zeigt, wie Uno ein gemeinsames UI-Design für Desktop, Web und Mobile ermöglicht.
7 Minuten
Simple Recipes – Schritt für Schritt zur Uno-App - Moderne UI-Gestaltung mit der Uno Platform, Teil 4
Der Entwicklungsweg einer modernen Cross-Platform-App: Von der Idee über UI-Skizzen bis zur finalen Implementierung zeigt ein praxisnahes Mini-Projekt am Beispiel der Rezepte-App „Simple Recipes“, wie Uno ein gemeinsames UI-Design für Desktop, Web und Mobile ermöglicht.
7 Minuten
Mehr Leistung für SBCs
Neue Orange-Pi-Varianten von Shenzhen Xunlong liefern höhere Rechenleistung.
12 Minuten
15. Dez 2025

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Das Model Context Protocol (MCP) mit C# verwenden - Kommunikation mit der KI
Mit dem neuen MCP C# SDK können Entwickler die Kommunikation zwischen KI-Modellen und Anwendungen effizient gestalten. Ein Blogpost bietet eine Schritt-für-Schritt-Anleitung zur Implementierung eines MCP-Servers.
3 Minuten
10. Apr 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige