CSP Layout 是否总是 qiskit transpiler 用于映射量子电路的第一个算法?

Is CSP Layout always the first algorithm used by qiskit transpiler to map quantum circuit?

我正在使用 Qiskit transpileoptimization_level=3。我想知道 CSP 布局选择器是否总是 Qiskit 尝试的第一个算法,如果我设置为 layout_method='noise_adaptive' 或其他方法。

如果不是,如何强制转译器使用 CSP 布局选择器?我尝试使用 layout_method='csp_layout',但出现以下异常:

qiskit.transpiler.exceptions.TranspilerError: 'Invalid layout method csp_layout.

对于 Qiskit 0.23 或更早版本 (qiskit-terra 0.16)

答案是,即使提供了layout_methodCSPLayout也会运行处于优化级别2或更高级别。

此文件构建了优化级别 3 的传递管理器: https://github.com/Qiskit/qiskit-terra/blob/master/qiskit/transpiler/preset_passmanagers/level3.py

目前,布局选择器的首选始终是 CSPLayout(coupling_map, call_limit=10000, time_limit=60)layout_method 的可能选项(如果 CSP 布局未找到解决方案)是 'trivial''dense''noise_adaptive''sabre'.


对于 Qiskit 0.24 或更高版本 (qiskit-terra 0.17)

随着PR #5495的合并,答案是这取决于CSPLayout 运行 级别 2 和 3。如果提供 layout_method,则将使用该方法。