ローカル構成¶
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
が設定されている場合、その値はユーザー構成ファイルへのパスとして使用されます。
利用可能なオプション:
circuit_drawer
:これは、回路ドロワーqiskit.circuit.QuantumCircuit.draw()
およびqiskit.visualization.circuit_drawer()
のデフォルトのバックエンドを変更するために使用されます。 これは、latex
、mpl
、text
またはlatex_source
に設定でき、ouptut
kwargが明示的に設定されていない場合は、ドロワー・バックエンドが使用されます。
circuit_mpl_style
:これは、回路ドロワー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
: このオプションは (True
またはFalse
) のブール値をとり、Python multiprocessing が並列実行をサポートするオペレーションが有効かどうかを設定するのに使われます(例えば複数QuantumCircuit
オブジェクトのトランスパイル)。 デフォルトはユーザー構成ファイルに設定されており、QISKIT_PARALLEL
環境変数で上書きできます。
num_processes
: このオプションは整数値 (> 0) をとり、並列実行が有効である時の並列プロセッサの最大数を指定します。デフォルトはユーザー構成ファイルにあり、QISKIT_NUM_PROCS
環境変数で上書きできます。
環境変数¶
Qiskitのデフォルトの動作を変更するために設定できる環境変数もいくつかあります。
QISKIT_IN_PARALLEL
:この変数がTRUE
に設定されている場合、Qiskit Terra のいくつかの操作 (例えば複数回路のトランスパイル) を並列化するために Python multiprocessing の使用が有効になります。
QISKIT_NUM_PROCS
: 並列実行が有効になっている場合、並列処理を起動するための並列プロセッサの最大数を指定します。これは整数 > 0 を取ります。
RAYON_NUM_THREADS
: Qiskit Terraでマルチスレッド操作を実行するスレッドの数を指定します。デフォルトでは、このマルチスレッド・コードは論理 CPU ごとにスレッドを起動します。スレッド数を調整する必要がある場合は、この値を整数値に設定できます。例えば、RAYON_NUM_THREADS=4
を設定すると、マルチスレッド関数用に4つのスレッドのみが起動されます。
QISKIT_FORCE_THREADS
:マルチスレッドコードが常に複数のスレッドで実行されるように指定します。デフォルトでは、すでに並列プロセスで実行されている Qiskit のセクションでマルチスレッドコードを実行している場合、Qiskit は複数のスレッドを起動せず、代わりにその関数をシリアルに実行します。これは、限られたCPUリソースが過負荷になる可能性を回避するために行われます。 ただし、マルチプロセスコンテキストでも複数のスレッドの使用を強制したい場合は、これを行うためにQISKIT_FORCE_THREADS=TRUE
を設定できます。
QISKIT_IBMQ_PROVIDER_LOG_LEVEL
:qiskit-ibmq-provider
モジュールに使用するログレベルを指定します。 無効なレベルが設定されている場合、ログレベルはデフォルトでWARNINGになります。 有効なログレベルは、DEBUG
、INFO
、WARNING
、ERROR
およびCRITICAL
(大文字と小文字を区別しない)です。 環境変数が設定されていない場合は、親ロガーのレベルが使用されます。これもデフォルトでWARNING
になります。
QISKIT_IBMQ_PROVIDER_LOG_FILE
:qiskit-ibmq-provider
から発信されたログメッセージから使用するログファイルの名前を指定します。 指定した場合、メッセージはファイルにのみ記録されます。 それ以外の場合、メッセージは標準エラー(通常は画面)に記録されます。
QISKIT_AQUA_MAX_GATES_PER_JOB
:ゲートの数に基づいて、Aquaで生成された回路を、バックエンドに送信される複数のジョブに分割するためのしきい値を設定するオプションのパラメーター。