로컬 설정¶
Qiskit을 설치하고 실행하면, 선택 구성 단계가 있어 특정한 사용 목적에 맞도록 Qiskit의 기본 설정을 변경 할 수 있다.
사용자 구성 파일¶
Qiskit의 로컬 구성을 위한 기본 위치는 사용자 구성 파일이다. 이는 Qiskit 기본값을 변경할 수 있는 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
기본적으로 이 파일은 ~/.qiskit/settings.conf
에 있지만 사용되는 경로는 QISKIT_SETTINGS
환경 변수로 대체될 수 있다. QISKIT_SETTINGS
값이 설정되면 사용자 구성 파일에 대한 경로로 사용된다
사용 가능한 옵션
이는 회로 드로잉
qiskit.circuit.QuantumCircuit.draw()
및qiskit.visualization.circuit_drawer()
의 기본 백엔드를 변경하는 데 사용된다. 이는latex
,mpl
,text
또는latex_source
로 설정될 수 있으며ouptut
kwarg가 명시적으로 설정되지 않은 경우 드로잉 백엔드를 사용하게 될 것이다.이는 회로 드로잉
qiskit.circuit.QuantumCircuit.draw()
및qiskit.visualization.circuit_drawer()
에 사용되는mpl
아웃풋 백엔드에 사용되는 기본 스타일 시트이다. 이는default
또는bw
로 설정할 수 있다.
circuit_mpl_style_path
: 이는 회로 드로잉,qiskit.circuit.QuantumCircuit.draw()
또는qiskit.visualization.circuit_drawer()
이 있는 경로(들)을 설정하는 데 사용할 수 있고mpl
출력 모드를 사용할 때 json 스타일 시트를 찾는 데 사용된다.
state_drawer
: 이는qiskit.quantum_info.Statevector.draw()
및qiskit.quantum_info.DensityMatrix.draw()
와 같은 상태 시각화를 그리는 방법의 기본 백엔드를 변경하는데 사용된다. 이는repr
,text
〉,latex
,latex_source
,qsphere
,hinton
, 또는 블로흐bloch
으로 설정될 수 있으며output
kwarg가draw()
방식에 따라 명시적으로 설정되어 있지 않을 때 출력 방식이 사용될 것이다.
transpile_optimization_level
: 이는 0-3사이의 정수를 취하고transpile()
과execute()
을 위한 기본 최적화 레벨을 변경하는 데 사용된다.
parallel
: 이 옵션은 boolean 값 (True
또는False
) 을 받아 Python 멀티프로세싱 <https://docs.python.org/3/library/multiprocessing.html> __이 병렬로 실행되는 것을 지원하는 작업에 대해 사용 가능한지 여부를 설정하는 데 사용된다 (예를 들어, 여러QuantumCircuit
오브젝트의 transpilation). 사용자 구성 파일의 기본 설정은QISKIT_PARALLEL
환경 변수에 의해 대체될 수 있다.
num_processes
: 이 옵션은 병렬 실행이 사용 가능한 경우 병렬 연산에 대해 실행할 최대 병렬 프로세스 수를 지정하는 데 사용되는 정수 값 (> 0) 을 사용한다. 사용자 구성 파일의 기본 설정은QISKIT_NUM_PROCS
환경 변수로 대체할 수 있다.
환경 변수¶
Qiskit의 기본 동작을 변경하기 위해 설정할 수 있는 몇 가지 환경 변수도 있다.
QISKIT_PARALLEL
: 이 변수의 값이TRUE
가 되면, Qiskit Terra의 특정 동작 (예를 들어 여러 회로에 걸친 트랜스파일(transpilation)) 을 병렬화하기 위한 Python 다중처리 기능을 사용할 수 있다.
QISKIT_NUM_PROC
: 병렬 실행이 활성화된 경우 병렬 연산에 대해 실행할 최대 병렬 프로세스 수를 지정한다. 기대값으로 양의 정수를 사용한다.
RAYON_NUM_THREADS
: Qiskit Terra에서 다중 스레드 작업을 실행할 스레드 수를 지정한다. 기본적으로 이 다중 스레드 코드는 각 논리적 CPU에 대한 스레드를 시작한다. Qiskit이 사용할 스레드 수를 조정하려면 이것을 정수 값으로 설정한다. 예를 들어RAYON_NUM_THREADS=4
를 설정하면 다중 스레드 기능에 대해 4개의 스레드만 실행된다.
QISKIT_FORCE_THREADS
: 다중 스레드 코드가 항상 다중 스레드에서 실행되어야 함을 지정한다. 기본적으로 병렬 프로세스에서 이미 실행 중인 Qiskit 섹션에서 다중 스레드 코드를 실행하는 경우 Qiskit은 다중 스레드를 시작하지 않고 대신 해당 기능을 직렬로 실행한다. 이는 제한된 CPU 리소스에 잠재적으로 과부하가 걸리는 것을 방지하기 위함이다. 하지만 다중 프로세스 컨텍스트에서도 다중 스레드를 강제로 사용하려면QISKIT_FORCE_THREADS=TRUE
로 설정한다.
QISKIT_IBMQ_PROVIDER_LOG_LEVEL
:qiskit-ibmq-provider
모듈에 사용할 로그 레벨을 지정한다. 유효하지 않은 레벨이 설정된 경우 로그 레벨은 기본적으로 경고로 설정됩니다. 유효한 로그 수준은DEBUG
INFO
,WARNING
,ERROR
및CRITICAL
(대소문자를 구분하지 않음) 이다. 환경 변수가 설정되지 않은 경우 상위 로거 레벨이 사용되며 이는 기본값으로WARNING
로 설정됩니다.
QISKIT_IBMQ_PROVIDER_LOG_FILE
:qiskit-ibmq-provider
에서 시작한 로그 메시지에서 사용할 로그 파일의 이름을 지정한다. 그렇지 않으면 메시지는 표준 오류 (일반적으로 화면) 에 로그 됩니다.
QISKIT_AQUA_MAX_GATES_PER_JOB
: Aqua 생성된 회로들을 게이트들의 수에 기초하여 백엔드에 제출된 다수의 작업들로 분할하기 위한 임계치를 설정하기 위한 선택적 파라미터.