{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "175ff1e8-9d71-4396-9936-37304fa5df1c",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"Durée d'exécution maximale pour les charges de travail du service de calcul d' IBM Quantum\"\n",
        "description: \"Indique la durée maximale d'exécution d'une tâche du service de calcul d' IBM Quantum, quel que soit le mode d'exécution utilisé.\"\n",
        "---\n",
        "\n",
        "<span id=\"maximum-execution-time-for-ibm-quantum-compute-service-workloads\" />\n",
        "\n",
        "# Durée d'exécution maximale pour les charges de travail du service de calcul d' IBM Quantum\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "653b0c37-be57-49af-b8fe-d60e3bbdc939",
      "metadata": {
        "tags": [
          "version-info"
        ]
      },
      "source": [
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "a0d6acc5-754c-4955-8cf0-5e3e12b9dd1f",
      "metadata": {},
      "source": [
        "Afin de garantir l'équité, [le service](#max-QPU) impose une durée maximale d'exécution pour chaque tâche. Si une tâche dépasse ce délai, elle est annulée de force et une exception `RuntimeJobMaxTimeoutError` est levée. Vous pouvez également [définir une durée maximale d'exécution](#max-job) pour vos tâches afin de mieux maîtriser les coûts.\n",
        "\n",
        "<Admonition>\n",
        "  La session ou le lot est immédiatement interrompu lorsque la limite de coût est atteinte. Les tâches en cours d'exécution dans cette session ou ce lot seront menées à terme, mais toutes les tâches en attente seront annulées.\n",
        "</Admonition>\n",
        "\n",
        "<span id=\"max-job\" />\n",
        "\n",
        "<span id=\"set-a-maximum-execution-time\" />\n",
        "\n",
        "## Définir un délai d'exécution maximal\n",
        "\n",
        "La durée maximale d'exécution d'un travail est la plus petite de ces valeurs :\n",
        "\n",
        "* La valeur fixée pour `max_execution_time`\n",
        "* La durée maximale de déconnexion du service (trois heures)\n",
        "\n",
        "Cette valeur `max_execution_time` est calculée en fonction de *l'utilisation du QPU* (utilisation quantique uniquement), et non en fonction du temps réel.\n",
        "\n",
        "Définissez la durée maximale d'exécution (en secondes) dans les options de la tâche, comme indiqué dans l'exemple suivant.  Pour plus d'informations sur la configuration [des](/docs/guides/executor-options) options, consultez les guides [consacrés aux](/docs/guides/sampler-options) [options de l'estimateur](/docs/guides/estimator-options), de l'échantillonneur ou de l'exécuteur.\n",
        "\n",
        "```python\n",
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "estimator = Estimator(mode=backend)\n",
        "\n",
        "estimator.options.max_execution_time = 2500\n",
        "```\n",
        "\n",
        "Vous pouvez également connaître la quantité de ressources consommées par les tâches terminées en récupérant les métriques de ces tâches comme suit :\n",
        "\n",
        "```python\n",
        "# Find QPU usage of a specific job\n",
        "print(f\"QPU usage of job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds\")\n",
        "```\n",
        "\n",
        "<span id=\"max-QPU\" />\n",
        "\n",
        "<span id=\"service-enforced-maximum-execution-time\" />\n",
        "\n",
        "## Durée d'exécution maximale imposée par le service\n",
        "\n",
        "Le service impose une limite maximale d'exécution de trois heures afin de garantir une utilisation équitable des appareils. Si une valeur `max_execution_time` est également spécifiée pour la tâche, c'est la plus petite des deux valeurs qui est utilisée.\n",
        "\n",
        "Par exemple, si vous indiquez `max_execution_time=5000` (environ 83 minutes), la tâche sera alors annulée au bout d'environ 83 minutes, même si le service pourrait lui permettre de s'exécuter pendant trois heures.\n",
        "\n",
        "<span id=\"batch-max-time\" />\n",
        "\n",
        "<span id=\"batch-maximum-execution-time\" />\n",
        "\n",
        "## Durée maximale d'exécution par lot\n",
        "\n",
        "Lorsqu'un lot est lancé, il se voit attribuer une valeur maximale de durée de vie (maximum time to live ou TTL). Une fois ce délai atteint, le lot est terminé, les tâches déjà en cours d'exécution se poursuivent et les tâches en file d'attente qui restent dans le lot sont placées en état d'échec.\n",
        "\n",
        "Les lots ont également une valeur TTL interactive (interactive time to live) entre les travaux qui ne peut pas être configurée. Si vous ne fermez pas explicitement un lot, il est désactivé après l'expiration du TTL interactif et peut être réactivé à tout moment jusqu'à ce qu'il atteigne son TTL maximal.\n",
        "\n",
        "Pour obtenir des instructions sur l'utilisation de ces valeurs, consultez [la section Exécuter des tâches par lots](/docs/guides/run-jobs-batch).\n",
        "\n",
        "<span id=\"session-max-time\" />\n",
        "\n",
        "<span id=\"session-maximum-execution-time\" />\n",
        "\n",
        "## Durée maximale d'exécution d'une session\n",
        "\n",
        "Lorsqu'une session est lancée, elle se voit attribuer une valeur TTL maximale qui détermine la durée de la session. Une fois ce délai atteint, la session est terminée, les travaux déjà en cours continuent de s'exécuter et les travaux en file d'attente qui restent dans la session sont placés dans un état d'échec.\n",
        "\n",
        "Il existe également une valeur TTL interactive qui ne peut pas être configurée.  Si aucune tâche de session n'est mise en file d'attente dans cette fenêtre, la session est temporairement désactivée.\n",
        "\n",
        "Pour obtenir des instructions sur l'utilisation de ces valeurs, consultez [la section Exécuter des tâches dans une session](/docs/guides/run-jobs-session).\n",
        "\n",
        "<span id=\"other-limitations\" />\n",
        "\n",
        "## Autres limitations\n",
        "\n",
        "Avec la formule Open Plan, vous pouvez utiliser jusqu'à 10 minutes de QPU par période de 28 jours glissants. Vous pouvez consulter l'utilisation d'une instance sur la page [Instances](/instances).\n",
        "\n",
        "<span id=\"next-steps\" />\n",
        "\n",
        "## Etapes suivantes\n",
        "\n",
        "<Admonition type=\"tip\" title=\"Recommandations\">\n",
        "  * [Utilisation de la charge de travail](/docs/guides/estimate-job-run-time).\n",
        "  * Consultez ces conseils : [réduisez la durée d'exécution des tâches](/docs/guides/minimize-time).\n",
        "</Admonition>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "id": "a1b8767d",
      "source": "© IBM Corp., 2017-2026"
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}