Skip to main content
IBM Quantum Platform

FAQ sur les modes d'exécution

  • Le mode de test local prend en charge la syntaxe des différents modes d'exécution, mais comme il n'y a pas d'ordonnancement lors d'un test local, les modes sont ignorés.

  • Le nombre de travaux exécutés en parallèle est basé sur le degré de parallélisme configuré pour le backend, qui est de cinq pour la plupart des backends actuels.

  • Voir la section Tâches échouées et annulées à la page Modes d'exécution.


Sessions

  • Si vous utilisez la classe Session dans qiskit-ibm-runtime:

    • Session.close() signifie que la session n'accepte plus de nouveaux travaux, mais que les travaux existants sont exécutés jusqu'à leur terme.
    • Session.cancel() annule tous les travaux de session en cours.

    Si vous utilisez directement l'API REST :

    • PATCH /sessions/{id} avec accepting_jobs=False signifie que la session n'accepte plus de nouveaux travaux, mais que les travaux existants sont exécutés jusqu'à leur terme.
    • DELETE /sessions/{id}/close annule tous les travaux de session en cours.
  • Non. L'étalonnage à la demande n'est pas disponible.

  • Oui Cela permet de réduire les coûts indésirables si un utilisateur oublie de fermer sa session.

  • Vous ne pouvez pas modifier la valeur du TTL interactif. Vous pouvez modifier la valeur maximale du TTL d'une session (voir Spécifier la longueur de la session ), mais elle doit être inférieure à la valeur maximale définie par le système. Demandez à votre administrateur de contacter le support IBM si vous avez besoin d'un TTL interactif différent ou d'un TTL maximum pour le système.

  • IBM Quantum Network gagnent de la capacité réservée sur IBM Quantum® QPUs. L'utilisation est déduite de cette capacité et les instances ayant une capacité plus faible ont un temps d'attente plus long.

  • Oui Si vous soumettez plusieurs travaux simultanément dans une session, ces travaux seront exécutés en parallèle.

  • Non. Les sessions sont exécutées en mode dédié, ce qui signifie que l'utilisateur a un accès total au backend. Les sessions ne sont jamais interrompues par des étalonnages ou des mises à jour logicielles.

  • Oui En mode session, l'utilisation correspond à l'heure à laquelle la QPU est engagée dans la session. Elle commence lorsque le premier travail de session démarre et se termine lorsque la session devient inactive, est fermée ou lorsque le dernier travail se termine, selon ce qui se produit en dernier. Ainsi, l'utilisation continue de s'accumuler après la fin d'une session si la QPU est toujours en train d'exécuter un travail. En outre, le temps écoulé après l'achèvement d'un travail pendant que la QPU attend un autre travail de session (le TTL interactif) est comptabilisé dans l'utilisation. C'est pourquoi vous devez vous assurer que la session est fermée dès que vous avez fini d'y soumettre des travaux.


Lot

  • Le nombre de travaux exécutés en parallèle est basé sur le degré de parallélisme configuré pour le backend, qui est de cinq pour la plupart des backends. Toutefois, le nombre de travaux simultanés dans un lot actif peut être inférieur, car d'autres travaux sont déjà en cours d'exécution lorsque le lot devient actif.

  • La principale différence réside dans le compromis entre le temps et le coût :

    Mode batch :

    • La durée totale d'exécution est inférieure car le traitement classique peut être exécuté en parallèle.
    • L'exécution de chaque tâche entraîne une légère surcharge, ce qui fait que les tâches traitées par lots reviennent finalement un peu plus cher que lorsque toutes les boucles sont exécutées en une seule tâche.
    • Comme le mode batch ne vous donne pas un accès exclusif à un backend, les travaux à l'intérieur d'un batch peuvent s'exécuter avec des travaux d'autres utilisateurs ou des travaux de calibrage.
    • Si certains travaux échouent, vous obtenez toujours les résultats des travaux terminés.
    • Vous pouvez prendre des mesures au milieu d'une charge de travail par lots en fonction des résultats des travaux terminés. Par exemple, vous pouvez annuler le reste des travaux si les résultats initiaux semblent incorrects.

    Mode d'emploi :

    • La durée totale d'exécution sera probablement plus élevée car il n'y a pas de parallélisme.
    • Vous ne payez pas les frais généraux supplémentaires par tâche associés aux charges de travail par lots.
    • Tous vos circuits fonctionneront ensemble.
    • Si ce travail unique échoue, vous n'obtiendrez pas de résultats partiels.
    • Votre travail peut atteindre la limite s'il contient trop de circuits ou si les circuits sont trop grands.

    En général, si chacun de vos travaux consomme moins d'une minute de temps QPU, envisagez de les combiner en un travail plus important (ceci s'applique à tous les modes d'exécution).

  • Bien qu'il n'y ait pas de limite au nombre de travaux que vous pouvez soumettre dans un lot, il y a un temps maximum associé à un lot. En d'autres termes, lorsque la durée de l'horloge murale d'un lot (qui commence lorsque le premier travail du lot commence à s'exécuter) dépasse la durée maximale définie par le système, le lot n'accepte plus de nouveaux travaux et tous les travaux en file d'attente mais non en cours d'exécution sont annulés. De plus, il y a des limites à l'utilisation de vos travaux en fonction de votre plan. Pour déterminer le temps maximum associé à un lot, utilisez la méthode batch.details() et recherchez la valeur max_time .

  • Le degré de parallélisme configuré pour un backend est également appelé "voies d'exécution". Si un ou plusieurs couloirs d'exécution sont disponibles et que vos travaux par lots sont les prochains à être exécutés, le planificateur lance suffisamment de travaux pour remplir les couloirs. De même, si votre lot n'a pas assez de tâches pour remplir les couloirs, le planificateur lance les tâches d'autres utilisateurs.

    Exemple : Le backend que vous avez choisi dispose de cinq voies d'exécution, et deux d'entre elles sont actuellement occupées par des travaux d'autres utilisateurs. Votre lot de six travaux est le prochain à être exécuté.

    Comme il y a trois couloirs disponibles, le planificateur lance trois de vos six travaux par lots. Il continue à lancer des tâches dans votre lot au fur et à mesure que les tâches se terminent et que des voies d'exécution se libèrent. Si une voie se libère et qu'il n'y a pas d'autres travaux dans votre lot, l'ordonnanceur lance le travail suivant dans la file d'attente.

  • Les QPU étant des ressources limitées et partagées, tous les travaux doivent attendre dans la file d'attente. Toutefois, lorsque le premier travail de votre lot commence à s'exécuter, tous les autres travaux de ce lot passent en tête de la file d'attente et sont classés par ordre de priorité par le planificateur.

  • Oui Cependant, cette auto-détection entraîne un léger surcoût, c'est pourquoi vous devez toujours fermer votre lot et votre session.

  • Oui Les charges de travail par lots peuvent être interrompues par des étalonnages ou des mises à jour logicielles.

  • Non. En mode batch, seul le temps passé sur le matériel quantique est pris en compte.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.