Expériences

Expérience

Premiers tests de “MS Quantum”

Voici un petit retour de mes expériences avec « Quantum », le SDK proposé par Microsoft pour appréhender la programmation “Quantique”.

Pour rappel/info, Microsoft et autres grands éditeurs (notamment IBM et Google) pensent (tout simplement) “sauver le monde” avec les ordinateurs quantiques. Ils permettent effectivement d’envisager des calculs probabilistes inimaginables jusqu’alors comme la simulation du comportement du climat ou de molécules/particules. L’ordinateur Quantique manipule des Qubits qui peuvent avoir les valeurs 0 ou 1 classiques, mais aussi 0 ET 1 en même temps. Les opérations sur ces “bits/objets quantiques” sont un nouveau paradigme qui peut donner mal à la tête… Microsoft, comme IBM ou Google, veut nous aider à découvrir ce nouveau monde avec leur SDK et un nouveau langage (le Q#, un transtypage du C#).

Vous pouvez suivre le tuto de Microsoft pour tester ce SDK, disponible ici :

https://docs.microsoft.com/en-us/quantum/quantum-installconfig?view=qsharp-preview

Vous allez peut-être, comme moi, avoir quelques bugs !

Alors, autant vous faire profiter tout de suite des trucs et astuces pour ne pas perdre de temps bêtement dans leur résolution…

Problème 1 : for English only

Après avoir récupéré les prérequis (codes sources sur Git, l’extension de Visual Studio et les composants NuGet qui vont bien), on essaye de compiler la solution… Et là, c’est le drame, on obtient plein d’erreurs…

En consultant la fenêtre de sortie de la compilation et les lignes de code source générées par le traducteur de Q# vers C#, on comprend rapidement le problème : une mauvaise gestion des formats numériques “non anglo-saxon”…

C’est un bug confirmé par Microsoft : https://github.com/Microsoft/Quantum/issues/6

La solution :

Il faut donc passer votre OS sous le format numérique anglo-saxon, avec le « . » pour séparateur décimal et la virgule pour les milliers.

OK, ça compile bien maintenant.

Problème 2 : 64 bits et pas de débogage

Si vous lancez directement le programme de démo indiqué (TeleportDemo) en Debug (Lancez avec la touche [F5] qui disaient)…

Parfois (pas pour tout le monde… je n’ai pas encore trouvé la raison exacte), vous obtiendrez la magnifique erreur suivante : 


 

 

 

 

Si vous creusez un peu, vous trouvez ça dans les traces…

System.BadImageFormatException: Tentative de chargement d'un programme de format incorrect. (Exception de HRESULT : 0x8007000B)

Il doit y avoir un paramètre de configuration de compilation incohérent dans un des composants, mais lequel ?

Si c’est votre cas et que vous ne voulez pas perdre de temps à chercher…

La solution :

  • Passer la config en mode Release et x64 :
  • Lancer le programme en mode exécution directe (<Ctrl> + <F5>)

Youhou… ça marche !

Donc voilà, j’ai réussi à téléporter des messages, mesurer 499 chats vivants et 501 chats morts, visualiser la courbe d’énergie la molécule de dihydrogène en fonction de la longueur de la liaison.
Ce qui est intéressant, c’est que ce code ne devra pas être modifié, lorsqu’on l’appliquera à du matériel quantique.

De là à utiliser le SDK pour nous téléporter de Paris à Nantes, y’a encore un sacré fossé quand même…
On va utiliser un avatar de Silkke en attendant. 😉

A suivre…

Nouveau commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Solve : *
4 × 2 =


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.