{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "7acdb263-fde4-4ff3-a13d-c499a2ba77e4",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"실행자 옵션 지정\"\n",
        "description: \"Executor 기본 구성 요소를 사용하여 빌드할 때 옵션을 지정합니다.\"\n",
        "---\n",
        "\n",
        "<span id=\"specify-executor-options\" />\n",
        "\n",
        "# 실행자 옵션 지정\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "73e3d6f4",
      "metadata": {
        "tags": [
          "version-info"
        ]
      },
      "source": [
        "{/*\n",
        "  DO NOT EDIT THIS CELL!!!\n",
        "  This cell's content is generated automatically by a script. Anything you add\n",
        "  here will be removed next time the notebook is run. To add new content, create\n",
        "  a new cell before or after this one.\n",
        "  */}\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"패키지 버전\">\n",
        "    이 페이지의 코드는 다음 요구 사항을 바탕으로 개발되었습니다.\n",
        "    이 버전 이상을 사용하시기를 권장합니다.\n",
        "\n",
        "    ```\n",
        "    qiskit-ibm-runtime~=0.46.1\n",
        "    ```\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "513837ac-8853-4f45-8d8f-1a8297d5ab68",
      "metadata": {},
      "source": [
        "옵션을 사용하여 Executor 기본 객체를 사용자 정의할 수 있습니다. 샘플러(Sampler)나 에스티메이터(Estimator)와 달리, 익스큐터(Executor)는 설계 의도의 대부분이 샘플렉스(samplex)에 반영되어 있기 때문에 옵션이 매우 적습니다.\n",
        "\n",
        "<Admonition type=\"note\" title=\"참고\">\n",
        "  * 기본 객체 초기화 중이나 초기화 후에 사용 가능한 옵션과 옵션 값을 확인할 수 있습니다.\n",
        "  * 메서드를 `update()` 사용하여 속성에 `options` 변경 사항을 적용합니다.\n",
        "  * 이 `options` 속성은 `Python` 유형입니다 `dataclass` .  내장 `asdict` 메서드를 사용하여 이를 딕셔너리로 변환할 수 있습니다.\n",
        "  * Executor는 샘플렉스에 인코딩된 정보만 처리할 수 있습니다. 제한 사항에 대해서는 [Samplomatic](https://qiskit.github.io/samplomatic/guides/index) 가이드를 참조하십시오.\n",
        "</Admonition>\n",
        "\n",
        "<span id=\"pass-options\" />\n",
        "\n",
        "<span id=\"set-executor-options\" />\n",
        "\n",
        "## 실행기 옵션 설정\n",
        "\n",
        "기본형 초기화 과정 중과 초기화 후 모두에 옵션이 지정된 경우, 기본형 초기화 후에 설정된 값이 사용됩니다.\n",
        "\n",
        "<span id=\"primitive-initialization\" />\n",
        "\n",
        "### 기본 초기화\n",
        "\n",
        "Executor를 초기화할 때 옵션 클래스의 인스턴스나 딕셔너리를 전달할 수 있으며, 이때 해당 옵션의 복사본이 생성됩니다. 따라서 원래의 사전이나 옵션 인스턴스를 변경하더라도, 해당 기본 객체가 소유한 옵션에는 영향을 미치지 않습니다.\n",
        "\n",
        "<span id=\"options-class\" />\n",
        "\n",
        "#### 옵션 수업\n",
        "\n",
        "클래스의 `Executor` 인스턴스를 생성할 때, 옵션 클래스의 인스턴스를 전달할 수 있습니다. 이러한 옵션들은 을 사용하여 `run()` 계산을 수행할 때 적용됩니다.  옵션을 다음 형식으로 지정하십시오: `options.option.sub-option.sub-sub-option = choice`.  예를 들어, `options.environment.log_level = INFO`입니다.\n",
        "\n",
        "예:\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "948f4e75-3079-4c18-ba38-ce536b3f99b5",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService, Executor\n",
        "from qiskit_ibm_runtime.options import ExecutorOptions\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "options = ExecutorOptions(\n",
        "    environment={\"log_level\": \"INFO\"},\n",
        "    execution={\"init_qubits\": True},\n",
        ")\n",
        "\n",
        "# or use the following instead:\n",
        "\n",
        "options = ExecutorOptions()\n",
        "options.environment.log_level = \"INFO\"\n",
        "options.execution.init_qubits = True\n",
        "\n",
        "executor = Executor(mode=backend, options=options)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "ba2f5146-2781-49da-9fa2-8a22647225d0",
      "metadata": {},
      "source": [
        "<span id=\"dictionary\" />\n",
        "\n",
        "#### 사전\n",
        "\n",
        "Executor를 초기화할 때 옵션을 사전(dictionary) 형태로 지정할 수 있습니다.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "id": "cf4359c2-c97a-475c-998d-518dc05a445e",
      "metadata": {},
      "outputs": [],
      "source": [
        "from qiskit_ibm_runtime import QiskitRuntimeService, Executor\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "# Setting options during primitive initialization\n",
        "executor = Executor(\n",
        "    backend,\n",
        "    options={\n",
        "        \"environment\": {\"log_level\": \"INFO\"},\n",
        "        \"execution\": {\"init_qubits\": True},\n",
        "    },\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b981eda7-bd9b-4d1e-959a-12cfc35fc2a1",
      "metadata": {},
      "source": [
        "<span id=\"options-table\" />\n",
        "\n",
        "<span id=\"available-options\" />\n",
        "\n",
        "## 사용 가능 옵션\n",
        "\n",
        "`qiskit-ibm-runtime`다음 표는 최신 버전의 옵션을 정리한 것입니다. 이전 버전의 옵션을 보려면 를 [`qiskit-ibm-runtime` API 참조](/docs/api/qiskit-ibm-runtime) 방문하여 이전 버전을 선택하세요.\n",
        "\n",
        "<Accordion>\n",
        "  <AccordionItem title=\"`environment`\">\n",
        "    [`environment` API 문서](/docs/api/qiskit-ibm-runtime/options-sampler-options#environment)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`environment.job_tags`\">\n",
        "        태그 목록.\n",
        "\n",
        "        **선택 사항** : 없음\n",
        "\n",
        "        **기본값** : 없음\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.log_level`\">\n",
        "        **선택 항목** : DEBUG, INFO, WARNING, ERROR, CRITICAL\n",
        "\n",
        "        **기본값** : 경고\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.private`\">\n",
        "        **선택 사항** : `True`, `False`\n",
        "\n",
        "        **기본값** : `False`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`environment.max_execution_time`\">\n",
        "        **선택 사항** : \\[1] 에서 10800 사이의 초 단위 정수\n",
        "\n",
        "        **기본값** : 10800 (3시간)\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`execution`\">\n",
        "    [`execution` API 문서](/docs/api/qiskit-ibm-runtime/options-sampler-options#execution)\n",
        "\n",
        "    <Accordion>\n",
        "      <AccordionItem title=\"`execution.init_qubits`\">\n",
        "        각 샷마다 큐비트를 기저 상태로 재설정할지 여부.\n",
        "\n",
        "        **선택 사항** : `True`, `False`\n",
        "\n",
        "        **기본값** : `True`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`execution.rep_delay`\">\n",
        "        측정 후 다음 양자 회로가 실행되기까지의 시간 간격.\n",
        "\n",
        "        **선택 사항** : 다음 범위 내의 값 `backend.rep_delay_range`\n",
        "\n",
        "        **기본값** : 다음에서 지정됨 `backend.default_rep_delay`\n",
        "      </AccordionItem>\n",
        "\n",
        "      <AccordionItem title=\"`execution.meas_type`\">\n",
        "        **선택 사항** : `classified`, `kerneled`, `avg_kerneled`\n",
        "\n",
        "        **기본값** : `classified`\n",
        "      </AccordionItem>\n",
        "    </Accordion>\n",
        "  </AccordionItem>\n",
        "\n",
        "  <AccordionItem title=\"`experimental`\">\n",
        "    가능한 경우 실험적 옵션.\n",
        "  </AccordionItem>\n",
        "</Accordion>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "9b86001b-718a-4d72-b3b5-4a67eabf0a45",
      "metadata": {},
      "source": [
        "<span id=\"next-steps\" />\n",
        "\n",
        "## 다음 단계\n",
        "\n",
        "<Admonition type=\"tip\" title=\"권장사항\">\n",
        "  * [ExecutionOptionsV2](/docs/api/qiskit-ibm-runtime/options-execution-options-v2) API 문서를 확인해 보세요.\n",
        "  * [EnvironmentOptions](/docs/api/qiskit-ibm-runtime/options-environment-options) API 문서를 확인해 보세요.\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
}