Skip to main content
IBM Quantum Platform

로컬에서 키스킷 SDK 구성하기

키스킷 SDK를 설치하고 실행한 후, 기본 키스킷 동작을 변경하기 위해 취할 수 있는 몇 가지 선택적 단계가 있습니다.


사용자 구성 파일

키스킷의 로컬 구성을 위한 주요 위치는 사용자 구성 파일입니다. 이 파일은 키스킷 기본 설정을 변경하는 데 사용할 수 있는.ini 형식의 파일입니다.

예:

[default]
circuit_drawer = mpl
circuit_mpl_style = default
circuit_mpl_style_path = ~:~/.qiskit
state_drawer = hinton
transpile_optimization_level = 3
parallel = False
num_processes = 15
min_qpy_version = 14

기본적으로 이 파일은 ~/.qiskit/settings.conf 에 있지만 QISKIT_SETTINGS 환경 변수를 사용하여 경로를 재정의할 수 있습니다.


사용 가능 옵션

  • circuit_drawer: 회로 서랍의 기본 시스템을 변경합니다. latex, mpl, text, 또는 latex_source 으로 설정할 수 있습니다. 출력 kwarg가 명시적으로 설정되지 않은 경우 이 서랍 시스템이 사용됩니다.
  • circuit_mpl_style: 회로 서랍의 mpl 출력 시스템에 사용되는 기본 스타일 시트입니다. 유효한 값은 default 또는 bw 입니다.
  • circuit_mpl_style_path: Mpl 출력 모드를 사용할 때 회로 서랍이 JSON 스타일 시트를 찾는 데 사용할 경로입니다.
  • state_drawer: 상태 시각화 그리기 메서드의 기본 시스템을 변경하는 데 사용됩니다. 유효한 값은 repr, text, latex, latex_source, qsphere, hinton 또는 bloch 입니다. qiskit.quantum_info.DensityMatrix.draw 메서드에 출력 kwarg가 명시적으로 설정되지 않은 경우 지정된 출력 메서드가 사용됩니다.
  • transpile_optimization_level: 에 대한 기본 최적화 수준 변경 qiskit.compiler.transpile. 0~3의 정수를 지정합니다.
  • parallel: 병렬 실행을 지원하는 작업에 대해 Python 다중 프로세싱이 활성화되어 있는지 여부입니다. 예를 들어, 여러 개의 qiskit.circuit.QuantumCircuit 객체의 변환. 이 설정은 QISKIT_PARALLEL 환경 변수로 재정의할 수 있습니다. 부울 값을 지정합니다.
  • num_processes: 병렬 실행이 활성화된 경우 병렬 작업에 대해 실행할 최대 병렬 프로세스 수입니다. 이 설정은 QISKIT_NUM_PROCS 환경 변수로 재정의할 수 있습니다. 0 보다 큰 정수를 지정합니다.
  • min_qpy_version: QPY 로딩 시, 여기에 정의된 버전보다 낮은 버전의 QPY 파일은 거부됩니다. 이 옵션을 사용하면 구버전 QPY에서 역직렬화 보안 문제가 발견되었을 때 허용되는 QPY 버전을 제한하여, 잠재적으로 악의적인 페이로드가 로드되는 것을 방지할 수 있습니다.
Note

환경 변수

이 환경 변수를 설정하여 키스킷의 기본 동작을 변경하세요:

  • QISKIT_PARALLEL: Python 멀티프로세싱을 활성화하여 특정 연산을 병렬화합니다(예: 키스킷에서 여러 회로를 통한 트랜스파일레이션). 부울 값을 지정합니다.
  • QISKIT_NUM_PROCS: 병렬 실행이 활성화된 경우 병렬 작업에 대해 실행할 최대 병렬 프로세스 수입니다. 0보다 큰 정수를 지정하십시오.
  • RAYON_NUM_THREADS: 키스킷에서 멀티스레드 연산을 실행할 스레드 수입니다. 기본적으로 멀티스레드 코드는 각 논리적 CPU에 대해 스레드를 실행합니다. 키스킷이 사용하는 스레드 수를 조정하려면 이 값을 정수로 설정합니다. 예를 들어 RAYON_NUM_THREADS=4 을 설정하면 멀티스레드 함수에 대해 4개의 스레드가 실행됩니다.
  • QISKIT_FORCE_THREADS: 멀티스레드 코드가 항상 여러 스레드에서 실행되도록 지정합니다. 기본적으로 이미 병렬 프로세스로 실행 중인 키스킷의 섹션에서 멀티스레드 코드를 실행하는 경우, 키스킷은 여러 스레드를 실행하지 않고 해당 함수를 연속적으로 실행합니다. 이는 제한된 CPU 리소스에 과부하가 걸리는 것을 방지하기 위한 것입니다. 그러나 다중 프로세스 컨텍스트에서도 다중 스레드를 강제로 사용하려면 QISKIT_FORCE_THREADS=TRUE 을 설정하세요.
  • QISKIT_SABRE_ALL_THREADS: 키스킷의 프리셋 패스 관리자에서 레이아웃 및 라우팅 패스의 동작을 제어합니다. 1 또는 TRUE 으로 설정하면 여러 개의 무작위 평가판을 실행하는 데 사용 가능한 모든 CPU를 사용합니다. 이는 특히 20개 이상의 CPU/코어가 있는 시스템에서 결과의 품질을 향상시킬 수 있지만, 다른 로컬 하드웨어에서 실행할 때 결과를 재현할 수 없다는 단점이 있습니다.

다음 단계

권장사항
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.