Introduction to QuarkServer¤
How to start¤
start
# pip install quarkstudio (if not installed)
# init or update: quark init/update --mode=server
quark server
QuarkServer¤
-
Create folder ~/Desktop/home/cfg and place the cfg file(e.g., checkpoint.json) in it.
-
Run
quark serverin a terminal and you'll see the following information if everything is OK
-
Once the
QuarkServeris ready, runquark studioin another termnal. ClickSignupand fill the username and system name(i.e., the cfg filenamecheckpoint) in the corresponding blanks and clickSign up.
-
Fill the username and password in the Login window。

FAQ¤
cfg structure?¤
server accept json(see checkpoint above) as input and there is no restriction on the file content. Traditionally, the cfg file includes user-defined fields(qubits, couplers, gates and so on) and system-defined fields(etc, dev)
what is dev?¤
dev stores device information
{
"dev": {
'awg':{ # alias of the device
"addr": "192.168.3.48", # IP address of the device
"name": "VirtualDevice", # filename of the driver
"srate": 1000000000.0, # sampling rate(defined by the srate attribute in the driver class)
"type": "driver", # connection type, driver or remote
"host": "useless", # IP address of the host computer(required only if the type is remote)
"port": "useless" # service port(required only if the type is remote)
}
}
what is etc?¤
etc mainly includes some global settings, such as the MAPPING
{
"etc": {
"driver": {
"path": "~/Desktop/home/dev", # full driver path
"concurrent": True, # open device concurrently if True
"timeout": 30.0, # device execution timeout
"filter": ["send Waveform or np.array to device in the list"],
"mapping": { # mapping between logical channel and hardware channel
"setting_LO": "LO.Frequency", # see driver for more details about device attributes
"setting_POW": "LO.Power",
"setting_OFFSET": "ZBIAS.Offset",
"waveform_RF_I": "I.Waveform",
"waveform_RF_Q": "Q.Waveform",
"waveform_TRIG": "TRIG.Marker1",
"waveform_DDS": "DDS.Waveform",
"waveform_SW": "SW.Marker1",
"waveform_Z": "Z.Waveform",
"setting_PNT": "ADC.PointNumber",
"setting_SHOT": "ADC.Shot",
"setting_TRIGD": "ADC.TriggerDelay"
},
},
"server": {
"workers": 1, # number of compilation processes
"shared": 0,
"delay": 10.0, # maximum delay(in the unit of second) for feed
"cached": 5, # number of cached task
"review": [0, 1, 10], # index of cached step
"filesize": 4000.0 # maximum size of an hdf5 file
},
"canvas": {
"range": [0, 0.0001], # time range in QuarkCanvas
"filter": ['Q0','Q3'] # targets to be displayed in QuarkCanvas
}
}
}