Aller au contenu principal
Ce projet est en phase bêta. Tu as trouvé un bug ? Ouvrir un ticket GitHub. Une question ou une idée ? Pose ta question dans Discussions — tes retours sont les bienvenus !
Quelle est la qualité de la traduction sur cette page ?

Temps d'exécution maximum pour les charges de travail IBM Quantum Compute Service

Pour garantir l'équité, il existe un temps d'exécution maximum appliqué par le service pour chaque job. Si un job dépasse cette limite de temps, il est annulé de force et une exception RuntimeJobMaxTimeoutError est levée. Tu peux aussi définir un temps d'exécution maximum sur tes jobs pour aider à contrôler les coûts.

remarque

La session ou le batch est immédiatement arrêté lorsque la limite de coût est atteinte. Les jobs en cours d'exécution dans cette session ou ce batch se terminent normalement, mais les jobs en attente sont annulés.

Définir un temps d'exécution maximum​

Le temps d'exécution maximum d'un job correspond à la plus petite de ces valeurs :

  • La valeur définie pour max_execution_time

  • La valeur de timeout maximale du service (trois heures)

La valeur max_execution_time est basée sur l'utilisation du QPU (utilisation quantique uniquement), et non sur le temps réel.

Définis le temps d'exécution maximum (en secondes) dans les options du job, comme indiqué dans l'exemple suivant. Consulte les guides Options de l'Estimator, Options du Sampler ou Options de l'Executor pour des informations sur la configuration des options.

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(mode=backend)

estimator.options.max_execution_time = 2500

Tu peux aussi connaître l'utilisation consommée par les jobs terminés en récupérant les métriques du job comme suit :

# Find QPU usage of a specific job
print(f"QPU usage of job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")

Temps d'exécution maximum imposé par le service​

Le service impose une limite de temps d'exécution maximum de trois heures pour garantir une utilisation équitable des appareils. Si un max_execution_time est également spécifié pour le job, c'est la plus petite des deux valeurs qui est utilisée.

Par exemple, si tu spécifies max_execution_time=5000 (environ 83 minutes), alors le job est annulé après environ 83 minutes, même si le service pourrait lui permettre de s'exécuter pendant trois heures.

Temps d'exécution maximum d'un batch​

Lorsqu'un batch est démarré, une valeur de durée de vie maximum (TTL maximum) lui est attribuée. Une fois ce TTL atteint, le batch est arrêté, les jobs déjà en cours d'exécution continuent de s'exécuter, et les jobs en attente restant dans le batch sont placés dans un état d'échec.

Les batchs ont aussi une valeur de durée de vie interactive (TTL interactif) entre les jobs qui ne peut pas être configurée. Si tu ne fermes pas explicitement un batch, il est désactivé à l'expiration du TTL interactif et peut être réactivé à tout moment jusqu'à ce qu'il atteigne son TTL maximum.

Pour des instructions sur la gestion de ces valeurs, consulte Exécuter des jobs dans un batch.

Temps d'exécution maximum d'une session​

Lorsqu'une session est démarrée, une valeur de TTL maximum lui est attribuée, qui détermine la durée pendant laquelle une session peut s'exécuter. Une fois ce TTL atteint, la session est arrêtée, les jobs déjà en cours d'exécution continuent de s'exécuter, et les jobs en attente restant dans la session sont placés dans un état d'échec.

Il existe aussi une valeur de TTL interactif qui ne peut pas être configurée. Si aucun job de session n'est mis en attente dans cette fenêtre, la session est temporairement désactivée.

Pour des instructions sur la gestion de ces valeurs, consulte Exécuter des jobs dans une session.

Autres limitations​

Sur le plan Open, tu peux utiliser jusqu'à 10 minutes sur un QPU par fenêtre glissante de 28 jours. Tu peux consulter l'utilisation d'une instance sur la page Instances.

Prochaines étapes​