Protocol -- CommProtocolConfig
API reference for the binary communication-protocol helpers in pyqpanda3.utils.
CommProtocolConfig
python
CommProtocolConfig()Execution configuration embedded into protocol payloads.
| Field | Type | Default | Description |
|---|---|---|---|
open_mapping | bool | True | Enable hardware mapping during downstream execution. |
open_error_mitigation | bool | True | Enable readout-error mitigation. |
optimization_level | int | 4 | Compilation optimization level. |
circuits_num | int | 100 | Number of circuit variants used during optimization. |
shots | int | 1000 | Shot count. |
comm_protocol_encode
python
comm_protocol_encode(
prog_list: list[QProg],
config: CommProtocolConfig = CommProtocolConfig(),
) -> bytesSerialize one or more QProg objects together with protocol configuration.
python
from pyqpanda3.core import CNOT, H, QProg
from pyqpanda3.utils import CommProtocolConfig, comm_protocol_encode
prog = QProg() << H(0) << CNOT(0, 1)
config = CommProtocolConfig()
config.shots = 4096
payload = comm_protocol_encode([prog], config)
print(type(payload).__name__, len(payload) > 0)comm_protocol_encode_originir_string
python
comm_protocol_encode_originir_string(
originir: str,
config: CommProtocolConfig = CommProtocolConfig(),
) -> bytesEncode OriginIR source text directly into the same binary protocol stream.
| Parameter | Type | Description |
|---|---|---|
originir | str | OriginIR program text. |
config | CommProtocolConfig | Embedded execution configuration. |
Raises RuntimeError if the OriginIR text cannot be parsed or contains unsupported nodes.
python
from pyqpanda3.utils import comm_protocol_encode_originir_string
originir = "QINIT 1\nCREG 1\nH q[0]\nMEASURE q[0],c[0]\n"
payload = comm_protocol_encode_originir_string(originir)
print(type(payload).__name__)comm_protocol_encode_originir_file
python
comm_protocol_encode_originir_file(
file_path: str,
config: CommProtocolConfig = CommProtocolConfig(),
) -> bytesEncode an OriginIR file into a protocol payload.
Raises RuntimeError if the file cannot be opened, parsed, or encoded.
comm_protocol_decode
python
comm_protocol_decode(
encode_data: bytes,
) -> tuple[list[QProg], CommProtocolConfig]Decode protocol bytes back into programs and configuration.
python
from pyqpanda3.core import H, QProg
from pyqpanda3.utils import CommProtocolConfig, comm_protocol_decode, comm_protocol_encode
prog = QProg() << H(0)
payload = comm_protocol_encode([prog], CommProtocolConfig())
prog_list, config = comm_protocol_decode(payload)
print(len(prog_list), config.shots)Notes
comm_protocol_encode_originir_string()andcomm_protocol_encode_originir_file()are documented from the current 0.4.0 source bindings.comm_protocol_decode()returns regularQProgobjects, so you can inspect or re-export them with the normal core APIs.