qubic.soc_rpc_server
Functions for running an RPC server on the ZCU216 to allow users to submit remote jobs/circuits. See the Getting Started Guide for details on how to configure.
ServerConfig
Source code in qubic/soc_rpc_server.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | |
platform = 'rfsoc'
class-attribute
instance-attribute
Class for configuring/initializing ZCU216 RPC server. Wraps server_config.yaml
Attributes:
| Name | Type | Description |
|---|---|---|
xsa_commit |
str
|
commit hash of gateware build (directory w/ XSA/configs) |
ip |
str
|
server IP |
port |
int
|
server port |
log_level |
str
|
|
enable_batching |
bool
|
if True, allow clients to submit batched jobs, otherwise an intermediate job server (job_rpc_server.py) is required. |
dac_current_values |
Dict[Tuple, int]
|
dictionary of DAC channels to modify current. Format
is (block, tile): |
dac_nyquist_zone |
int
|
|
adc_nyquist_zone |
int
|
|
lmk_freq |
float
|
|
run_soc_server(server_config)
Start an xmlrpc server that exposes an instance of CircuitRunner over a network. Intended to be run from the RFSoC ARM core python (pynq) environment. IP should only be accessible locally!
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
server_config
|
ServerConfig
|
|
required |
Source code in qubic/soc_rpc_server.py
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | |