News Quantencomputer: Intel veröffentlicht SDK für breiteren Software-Zugang

Volker

Ost 1
Teammitglied
Registriert
Juni 2001
Beiträge
18.787
  • Gefällt mir
Reaktionen: Klever, BrollyLSSJ, Onkel Föhn und 2 andere
Mit dem
Zugang der sdk ist Intel noch lange kein Wohltäter. Sie erhoffen natürlich dadurch Knie how abgreifen zu können für lau. Legitim durchaus … aber am Ende des Tages hoffen sie auf schwarmwissen angreifen zu können
 
Vor allem versucht Intel damit auch, Ihre Hardware verbreiten und durchsetzen zu können.

Wir werden sehen, wohin die Reise mit Intel vs AMD vs ARM gehen wird. Bin gespannt.
 
Ich habe bei Quantencomputern nach wie vor ein Problem, zu verstehen, wie man logische Sachverhalte von der reinen Funktion (z.B. Programmiersprache C) auf die Hardware übersetzt, also kompiliert.

Bei DSPs, µCs, GraKas, FPGAs, CPU oder SOCs ist das Prinzip ja recht simpel: Je nach Struktur der "Recheneinheit" werden am Ende Steuerbefehle ausgeben, welche die Register und anderen Recheneinheiten dann anweisen, gewisse Spannungszustände anzunehmen und somit gewisse (meist binäre) Werte zugewiesen bekommen. Realisiert wird das quasi am Ende alles über FETs, die dann über deren Gates angesteuert werden.

Wie aber wird die Kompilierung bei Quantencomputern gemacht, wenn man bedenkt, das deren "Register" nicht nur zwei verschiedene Werte annehmen, sondern sogar zwei Werte gleichzeitig innehaben können? Da denke ich leider viel zu dreidimensional, um das durchschauen zu können. Gibt es da vielleicht irgendwo eine (für einen dummen E-Technik-Ingenieur) einigermaßen verständliche Darstellung, wie das abläuft? ;)
 
  • Gefällt mir
Reaktionen: dohderbert, Viper816, Kaulin und 4 andere
Am Ende wird nicht das System mit der besten Leistung "gewinnen", sondern das mit der einfachen Handhabung und Community. Guter Schritt von Intel.

@Weyoun
Quanten können nicht nur 0 und 1 annehmen, sondern auch alles dazwischen. Gibt einige Dokus auf YouTube.
 
S.Kara schrieb:
@Weyoun
Quanten können nicht nur 0 und 1 annehmen, sondern auch alles dazwischen. Gibt einige Dokus auf YouTube.
Ich glaube, sie können beide Werte gleichzeitig annehmen (Heisenbergsche Unschärfe), aber nicht einen Wert zwischen "0" und "1". Quanten heißen ja nun mal Quanten, weil sie definierte Energieniveaus besitzen. Ein Lichtquant, das z.B. in einem Halbleiter emittiert wird, wenn ein Elektron vom Valenzband auf das Leitungsband zurückfällt, ist immer exakt definiert von der Energie und somit auch von der Wellenlänge her. Dieses Quant hat allerdings zwei mögliche Drehrichtungen (Spin). Und so, wie ich es verstanden habe, soll der Zustand eines Quants nun drei Möglichkeiten haben. "Links", "rechts", "beides". Wie man auf Basis dieser Logik aber einen Compiler programmieren will, erschließt sich mir nicht. Vielleicht sollte ich neben der Arbeit parallel noch ein Studium der Atomphysik an der Abendschule beginnen. ;)
 
  • Gefällt mir
Reaktionen: Kaulin, Aslo und Onkel Föhn
Volker schrieb:

Als ich das letzte Mal was dazu gelesen habe (zugegeben zwei bis drei Jahr eher), da meinte ein Wissenschaftler der daran Vollzeit arbeitet sinngemäß: "Jo alles spannend alles cool, nur kann jeden Tag einer mit ner neuen Erkennntis um die Ecke kommen, die die gesamte Arbeit der letzten Jahre zunichte macht, so wirklich wissen wir nicht was wir machen, wird aber cool."

Von daher der Kreis derer, für die das böhmische Dörfer sind, dürfte die absolute Mehrheit ausmachen ;-)
 
  • Gefällt mir
Reaktionen: Hellyeah und Kaulin
Weyoun schrieb:
Ich glaube, sie können beide Werte gleichzeitig annehmen (Heisenbergsche Unschärfe), aber nicht einen Wert zwischen "0" und "1".
Quanten besitzen eine Überlagerung der Werte 0 und 1, also auch alles mögliche dazwischen (Superposition).
Da gibt es also kein "ein" und "aus", sondern auch "75,379% ein". Erst beim Messen des Zustands nimmt es den Wert 0 oder 1 an.

Durch diese Superposition ergibt sich der enorme Rechenvorteil. Wie genau man das programmiert weiß ich leider auch nicht.

Aber wenn du eine Aufgabe hast bei der du viel probieren musst, Simmulationen, Verschlüsselung usw, kannst du mehrere Versuche gleichzeitig machen.

Beispiel: 5 + x = 10
Zugegeben trivial und mathematisch lösbar, aber wenn nicht musst du klassisch x durchprobieren, angefangen bei 0 bist du mit 6 Versuchen am Ziel. Mit Qbits testest du für x null bis fünf einfach gleichzeitig und hast dein Ergebnis sofort.

Das ist auch das Problem mit Verschlüsselungen. RSA ist weit verbreitet und basiert darauf dass es sehr große Primzahlen verwendet. Die kann man finden, dauert aber sehr lange da man durchprobieren muss. Mit ausreichend Qbits ist die Sache sofort erledigt.
 
  • Gefällt mir
Reaktionen: thanatur, Archie2, Viper816 und eine weitere Person
Weyoun schrieb:
Ich glaube, sie können beide Werte gleichzeitig annehmen (Heisenbergsche Unschärfe), aber nicht einen Wert zwischen "0" und "1". Quanten heißen ja nun mal Quanten, weil sie definierte Energieniveaus besitzen. Ein Lichtquant, das z.B. in einem Halbleiter emittiert wird, wenn ein Elektron vom Valenzband auf das Leitungsband zurückfällt, ist immer exakt definiert von der Energie und somit auch von der Wellenlänge her. Dieses Quant hat allerdings zwei mögliche Drehrichtungen (Spin). Und so, wie ich es verstanden habe, soll der Zustand eines Quants nun drei Möglichkeiten haben. "Links", "rechts", "beides". Wie man auf Basis dieser Logik aber einen Compiler programmieren will, erschließt sich mir nicht. Vielleicht sollte ich neben der Arbeit parallel noch ein Studium der Atomphysik an der Abendschule beginnen. ;)
Tatsächlich können sie alle 4 möglichen Werte gleichzeitig annehmen.
00
01
10
11

Ansonsten kann ich zu deinen Ausführungen nur sagen: Ich hab keine Lösung aber bewundere das Problem. 😁
 
  • Gefällt mir
Reaktionen: Kaulin und Viper816
S.Kara schrieb:
Quanten besitzen eine Überlagerung der Werte 0 und 1, also auch alles mögliche dazwischen (Superposition).
Da gibt es also kein "ein" und "aus", sondern auch "75,379% ein". Erst beim Messen des Zustands nimmt es den Wert 0 oder 1 an.
Das trifft dann aber nur auf mehrere zueinander benachbarte und verschränkte Quanten zu. Ich sprach von einzelnen Quanten. Die können sich nicht zu sich selbst überlagern.
 
Weyoun schrieb:
Ich habe bei Quantencomputern nach wie vor ein Problem, zu verstehen, wie man logische Sachverhalte von der reinen Funktion (z.B. Programmiersprache C) auf die Hardware übersetzt, also kompiliert.
ich finde den Einstieg bei Dwave recht simpel.
Bei interesse arbeite dich mal ab hier durch: https://docs.ocean.dwavesys.com/en/stable/overview/solving_problems.html
graph coloring ist eine der simpelsten Beispielanwendungen hier.
https://docs.ocean.dwavesys.com/en/stable/examples/map_kerberos.html

Alles in allem lohnt es auch, bei der quantum open soure foundation vorbei zu sehen:
https://qosf.org/learn_quantum/

tiefer und abstrakter wird es mit unconstrained binary quadratic programming -> vielleicht ist das hier was fuer dich: https://arxiv.org/pdf/1705.09844.pdf
 
  • Gefällt mir
Reaktionen: Weyoun und RedSlusher
@Weyoun
Ich bin kein Experte und ist auch schon wieder eine weile her das ich mich etwas informiert habe. Das ganze geht auch etwas über meinen Horizont.

So wie ich das verstanden habe läuft das folgendermaßen:

Ein Qbit selbst kann nur 0 und 1 enthalten.
Baut man aber ein Register welches zwei QBits enthalten kann, dann kann dieses Register alle Zustände eines herkömmlichen zwei Bit Registers gleichzeitig enthalten. Sprich die Zustände 00, 01, 10 und 11 sind in einem 2xQBit immer gleichzeitig gespeichert.

Als Beispiel baut man einen Register welches zwei normale Bits mit zwei QBit addieren kann und das Ergebnis wieder in ein QBit gespeichert. Dann bekommst du bei der Addition von 01 mit dem QBit welches ja 00,01,10,11 enthält in einem Rechenschritt(Taktzyklus) alle Ergebnisse dieser Addition.

Sprich ein einziger Taktzyklus reicht für folgende Addition aus:
01+00=00
01+01=10
01+10=11
01+11=100
All diese Additionen können in nur einem einzigen Taktzyklus abgehandelt werden. Dafür würde ein herkömmlicher Prozessor 4 Taktzyklen brauchen.

Das ist der riesengroße Vorteil an einem Quantenprozessor. Das macht sie für gewisse aufgaben extrem schnell.
 
  • Gefällt mir
Reaktionen: Weyoun, floq0r, Hellyeah und eine weitere Person
@Weyoun:

Das kommt stark auf die jeweilige Architektur an. Bei manchen Quantenrechnern werden die Bits über Mikrowellenpulse (Parameter: Frequenz, Amplitude, Phase, Polarisierung etc) angesteuert, bei anderen passiert die gleiche bzw. äquivalente Operation über Magnetfelder oder über Spiegel, Reflektion, Brechung, Interferenz etc., oder noch ganz andere Sachen. Verschränken/Überlagern von Qbits erfolgt über Interaktionen ähnlicher Natur, z. B. Resonanz und Modulation von zwei Mikrowellensignalen. Noch dazu unterscheiden sich die Quantencomputer stark darin, welche Folgen von Operationen sie auf welche Qbits anwenden können und welche Qbits miteinander "verbunden" werden können - "alles mit allem" geht selten, weil dann die Kohärenz flöten geht und sich die Verschränkung in klassisch-binäres Wohlgefallen und thermisches Rauschen auflöst...

Der Code wird also erst wie vom normalen Computer gewohnt in Operationen/Gates zerlegt ("Python->C++->Assembler->Maschinencode"), und dann werden der Reihe nach die dem Maschinencode entsprechenden physischen Manipulationen ausgeführt (z. B. mit Mikrowellen ein Atomkern "verdreht", bis die Phase des Signals dem entspricht, was der Code/die Mathematik fordert). Die Compiler arbeiten dabei mit (sehr) großen Gleichungssystemen (die einzelnen Befehle sind durch Matrizen bzw. Tensoren gegeben, die mit dem System verrechnet werden). Wenn Quantencode optimiert wird, werden da "irgendwelche" (genauer weiß ich es selbst nicht) Umformungen an den Gleichungssystemen vorgenommen, damit die Sache effizienter läuft.

Zum Glück muss man sich als Anwender (z. B. in der IBM Quantum Cloud) selten darüber Gedanken machen, weil das alles wegabstrahiert ist... Insgesamt ist das eine sehr spannende Frage! Ich habe vor drei (?) Jahren den Kurs von IBM zu Quantum Computing gemacht. Als Literatur hatte mir Hidary (2019) "Quantum Computing: An Applied Approach" und Krantz et. al. (2019) "A Quantum Engineers Guide to Superconducting Qubits" (Link auf Arxiv.org - insb. Kapitel 4) sehr gut gefallen und geholfen. (Zum Hidary habe ich leider keinen Link da den ich hier teilen könnte). Im verlinkten Paper kannst du auch mal nach "compile" suchen lassen, da gibt es einige Nennungen und weiterführende Verweise.
 
Zuletzt bearbeitet: (Edit: Habe mal liberal Infos nachgetragen und zwei Quellen eingefügt :))
  • Gefällt mir
Reaktionen: Weyoun, floq0r, Kaulin und 3 andere
Ich weiss nicht viel.
Was ich aber sagen kann ist, dass Quanten- Computer ALLES verändern werden.
 
-Ps-Y-cO- schrieb:
Was ich aber sagen kann ist, dass Quanten- Computer ALLES verändern werden.
das eher nicht. also nicht ohne Zimmertemperatur supraleiter und auch nicht ohne komplett schwingungsfreie Raeume.
Ja, sie haben ihre Anwendungsfälle. Geradde in der Kommunikation und bei grossen Optimierungsproblemen: Ja. Die IT Industrie als ganzes dürfte da bis es obige Erfindungen gibt nicht von betroffen sein.
 
LukS schrieb:
@Weyoun

Ein Qbit selbst kann nur 0 und 1 enthalten.
Baut man aber ein Register welches zwei QBits enthalten kann, dann kann dieses Register alle Zustände eines herkömmlichen zwei Bit Registers gleichzeitig enthalten. Sprich die Zustände 00, 01, 10 und 11 sind in einem 2xQBit immer gleichzeitig gespeichert.
Danke! Also wie ich es mir schon dachte, die einzelnen QBits sind dann miteinander verschränkt, wenn ich es richtig verstanden habe. Dazu bedarf es aber zuvor aufwendiger Vorbereitungen. Bis man solche QBit-Register ohne Flüssigstickstoffkühlung und "Laserbehandlung" in ein Desktop-Gehäuse bekommt, fließt noch eine Menge Wasser durch unsere Flüsse. ;)
Ergänzung ()

-Ps-Y-cO- schrieb:
Ich weiss nicht viel.
Was ich aber sagen kann ist, dass Quanten- Computer ALLES verändern werden.
Erst dann, wenn man sie bei Raumtemperatur einsetzen kann, denn sonst wären sie auch große Labore beschränkt.
 
  • Gefällt mir
Reaktionen: LukS
Was nützt mir Streaming, wenn die Backbone-Leitungen selbst mit Glasfaseranbindung 3 bis 6 Größenklassen zu langsam sind für die Geschwindigkeiten, die künftige Quanten-Computer zu leisten imstande sind? ;)
 
  • Gefällt mir
Reaktionen: madmax2010
Was nützt die ein Quantencomputer "im Desktop-Gehäuse" wenn du drumherum noch die Peripherie brauchst um die berechneten Daten zu übertragen und zu speichern? My point: Es wird nur im industriellen Maßstab sinnvoll/effizient nutzbar sein und beim User landen aggregierte Results.
 
floq0r schrieb:
Ich denke das wird auch nie der Fall sein wenn man heute bereits GPU computing streamen kann.

Das ist doch schon heute der Fall: Link

Das Ding ist jetzt kein Kapazitätswunder mehr und eher ein "Quanten-Taschenrechner" aber ist genau das: Ein Quantencomputer im Desktop-Format. Und ich habe keine Zweifel, dass sich auch da die Erde weiterdreht und bald mehr drin ist.
Ergänzung ()

floq0r schrieb:
Es wird nur im industriellen Maßstab sinnvoll/effizient nutzbar sein und beim User landen aggregierte Results.
Das hat man über Autos und Computer und DSL-Leitungen auch gedacht.
Ich hab keine Ahnung wofür wir irgendwann zu Hause QCs verwenden werden (zocken? Schlüsselaustausch beim Online-Banking?), aber schlauen Leuten wird schon eine Marktlücke einfallen. Und reiche Leute werden als Early Adopter den Markt entwickeln. :)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Klever und LukS
Zurück
Oben