Japanese
言語
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

ローカル構成

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() のデフォルトのバックエンドを変更するために使用されます。 これは、 latexmpltext または 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_LEVELqiskit-ibmq-provider モジュールに使用するログレベルを指定します。 無効なレベルが設定されている場合、ログレベルはデフォルトでWARNINGになります。 有効なログレベルは、 DEBUGINFOWARNINGERROR および CRITICAL (大文字と小文字を区別しない)です。 環境変数が設定されていない場合は、親ロガーのレベルが使用されます。これもデフォルトで WARNING になります。

  • QISKIT_IBMQ_PROVIDER_LOG_FILEqiskit-ibmq-provider から発信されたログメッセージから使用するログファイルの名前を指定します。 指定した場合、メッセージはファイルにのみ記録されます。 それ以外の場合、メッセージは標準エラー(通常は画面)に記録されます。

  • QISKIT_AQUA_MAX_GATES_PER_JOB :ゲートの数に基づいて、Aquaで生成された回路を、バックエンドに送信される複数のジョブに分割するためのしきい値を設定するオプションのパラメーター。