Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New platform for chip tii3qw81 controlled by ZCU111 #177

Closed
wants to merge 14 commits into from

Conversation

JavierSerranoGarcia
Copy link
Collaborator

Platform and runcard for chip TII3qw81 controlled with ZCU111. This PR works with qibosoq, qibolab, and qibocal main.

The chip has fixed-frequency transmons without flux lines

The Platform works for qubits 2, 3 and 4/witness (although not fully with this qubit 4) on tii3qw81 chip.

@alecandido the platform is available to connect and check whatever you need.

@JavierSerranoGarcia
Copy link
Collaborator Author

JavierSerranoGarcia commented Sep 11, 2024

Qibosoq fails when doing single shot classification on more than one qubits

- id: single shot classification
    priority: 0 
    operation: single_shot_classification
    parameters:
     nshots: 4096
     relaxation_time: 100_000
    targets: [2,3]

we got this error when reshaping the results matrix

[Qibo 0.2.7|INFO|2024-09-11 15:47:32]: Loading platform /home/users/javier.serrano/lab/qibolab_platforms_qrc/tii3qw81_zcu111
[Qibo 0.2.7|INFO|2024-09-11 15:47:32]: Using qibolab (/home/users/javier.serrano/lab/qibolab_platforms_qrc/tii3qw81_zcu111) backend on /CPU:0
�[33;20m[Qibocal 0.0.11|WARNING|2024-09-11 15:47:32]: Deleting previous directory reports/20240911_experiment.�[0m
�[38;20m[Qibocal 0.0.11|INFO|2024-09-11 15:47:32]: Creating directory reports/20240911_experiment.�[0m
[Qibo 0.2.7|INFO|2024-09-11 15:47:32]: Connecting to instrument <qibolab.instruments.rfsoc.driver.RFSoC object at 0x754587433250>.
[Qibo 0.2.7|INFO|2024-09-11 15:47:32]: Connecting to instrument <qibolab.instruments.rohde_schwarz.SGS100A object at 0x7545770d12d0>.
�[38;20m[Qibocal 0.0.11|INFO|2024-09-11 15:47:32]: Executing mode AUTOCALIBRATION on single shot classification.�[0m
[Qibo 0.2.7|INFO|2024-09-11 15:47:32]: Minimal execution time (sequence): 0.41984000000000005
/home/users/javier.serrano/lab/qibolab_platforms_qrc/tii3qw81_zcu111
Connected to: Rohde&Schwarz SGS100A (serial:1416.0505k02/114166, firmware:4.2.76.0-4.30.046.295) in 0.18s
Traceback (most recent call last):
  File "/nfs/users/javier.serrano/lab/julEnv/bin/qq", line 6, in <module>
    sys.exit(command())
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/cli/_base.py", line 72, in auto
    autocalibrate(runcard, folder, force, update)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/cli/autocalibration.py", line 51, in autocalibrate
    history = run(output=path, runcard=runcard, mode=AUTOCALIBRATION)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/execute.py", line 106, in run
    instance.run_protocol(
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/execute.py", line 77, in run_protocol
    completed = task.run(
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/task.py", line 97, in run
    completed.data, completed.data_time = operation.acquisition(
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/operation.py", line 42, in wrapper
    out = func(*args, **kwds)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/protocols/classification.py", line 204, in _acquisition
    results = [
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/protocols/classification.py", line 205, in <listcomp>
    platform.execute_pulse_sequence(sequence, options) for sequence in sequences
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/platform/platform.py", line 196, in execute_pulse_sequence
    return self._execute(sequence, options, **kwargs)
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/platform/platform.py", line 170, in _execute
    new_result = instrument.play(
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 260, in play
    toti, totq = self._execute_pulse_sequence(sequence, qubits, opcode)
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 187, in _execute_pulse_sequence
    return self._try_to_execute(server_commands, self.host, self.port)
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 90, in _try_to_execute
    raise e
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 78, in _try_to_execute
    return client.connect(server_commands, host, port)
  File "/nfs/users/javier.serrano/lab/qibosoq/src/qibosoq/client.py", line 58, in connect
    raise QibosoqError(results)
qibosoq.client.QibosoqError: Traceback (most recent call last):
  File "/home/xilinx/qibosoq/src/qibosoq/server.py", line 140, in handle
    results = execute_program(data, self.server.qick_soc)
  File "/home/xilinx/qibosoq/src/qibosoq/server.py", line 103, in execute_program
    toti, totq = program.perform_experiment(
  File "/home/xilinx/qibosoq/src/qibosoq/programs/base.py", line 257, in perform_experiment
    return self.collect_shots()[-2:]
  File "/home/xilinx/qibosoq/src/qibosoq/programs/base.py", line 294, in collect_shots
    tot.append(stacked[:, idx].reshape(shape).tolist())
ValueError: cannot reshape array of size 4096 into shape (2,1,4096)

@alecandido
Copy link
Member

@JavierSerranoGarcia you could try to install Qibosoq from https://github.com/qiboteam/qibosoq/tree/fix_collect_shots

spinq10q.yml Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Outdated file, please remove

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in bbd371c

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Outdated file, please remove

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in bbd371c

@JavierSerranoGarcia
Copy link
Collaborator Author

JavierSerranoGarcia commented Sep 12, 2024

With the branch fix_collect_shots issues with rabi and T1 are solved, now I can run it in 2 qubits.

But in routine allXY I got an error:

[Qibo 0.2.7|INFO|2024-09-12 12:20:29]: Loading platform /home/users/javier.serrano/lab/qibolab_platforms_qrc/tii3qw81_zcu111
[Qibo 0.2.7|INFO|2024-09-12 12:20:29]: Using qibolab (/home/users/javier.serrano/lab/qibolab_platforms_qrc/tii3qw81_zcu111) backend on /CPU:0
�[33;20m[Qibocal 0.0.11|WARNING|2024-09-12 12:20:29]: Deleting previous directory reports/20240912_experiment.�[0m
�[38;20m[Qibocal 0.0.11|INFO|2024-09-12 12:20:29]: Creating directory reports/20240912_experiment.�[0m
[Qibo 0.2.7|INFO|2024-09-12 12:20:29]: Connecting to instrument <qibolab.instruments.rfsoc.driver.RFSoC object at 0x7123146d2d40>.
[Qibo 0.2.7|INFO|2024-09-12 12:20:29]: Connecting to instrument <qibolab.instruments.rohde_schwarz.SGS100A object at 0x7123044a3130>.
�[38;20m[Qibocal 0.0.11|INFO|2024-09-12 12:20:30]: Executing mode AUTOCALIBRATION on allXY.�[0m
[Qibo 0.2.7|INFO|2024-09-12 12:20:30]: Minimal execution time (sequence): 0.05376
/home/users/javier.serrano/lab/qibolab_platforms_qrc/tii3qw81_zcu111
Connected to: Rohde&Schwarz SGS100A (serial:1416.0505k02/114166, firmware:4.2.76.0-4.30.046.295) in 0.18s
Traceback (most recent call last):
  File "/nfs/users/javier.serrano/lab/julEnv/bin/qq", line 6, in <module>
    sys.exit(command())
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/nfs/users/javier.serrano/lab/julEnv/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/cli/_base.py", line 72, in auto
    autocalibrate(runcard, folder, force, update)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/cli/autocalibration.py", line 51, in autocalibrate
    history = run(output=path, runcard=runcard, mode=AUTOCALIBRATION)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/execute.py", line 106, in run
    instance.run_protocol(
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/execute.py", line 77, in run_protocol
    completed = task.run(
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/task.py", line 97, in run
    completed.data, completed.data_time = operation.acquisition(
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/auto/operation.py", line 42, in wrapper
    out = func(*args, **kwds)
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/protocols/allxy/allxy.py", line 102, in _acquisition
    results = [
  File "/nfs/users/javier.serrano/lab/qibocal/src/qibocal/protocols/allxy/allxy.py", line 103, in <listcomp>
    platform.execute_pulse_sequence(sequence, options) for sequence in sequences
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/platform/platform.py", line 196, in execute_pulse_sequence
    return self._execute(sequence, options, **kwargs)
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/platform/platform.py", line 170, in _execute
    new_result = instrument.play(
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 260, in play
    toti, totq = self._execute_pulse_sequence(sequence, qubits, opcode)
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 187, in _execute_pulse_sequence
    return self._try_to_execute(server_commands, self.host, self.port)
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 90, in _try_to_execute
    raise e
  File "/nfs/users/javier.serrano/lab/qibolab/src/qibolab/instruments/rfsoc/driver.py", line 78, in _try_to_execute
    return client.connect(server_commands, host, port)
  File "/nfs/users/javier.serrano/lab/qibosoq/src/qibosoq/client.py", line 58, in connect
    raise QibosoqError(results)
qibosoq.client.QibosoqError: Traceback (most recent call last):
  File "/home/xilinx/qibosoq/src/qibosoq/server.py", line 140, in handle
    results = execute_program(data, self.server.qick_soc)
  File "/home/xilinx/qibosoq/src/qibosoq/server.py", line 103, in execute_program
    toti, totq = program.perform_experiment(
  File "/home/xilinx/qibosoq/src/qibosoq/programs/base.py", line 257, in perform_experiment
    return self.collect_shots()[-2:]
  File "/home/xilinx/qibosoq/src/qibosoq/programs/base.py", line 289, in collect_shots
    np.stack((self.di_buf[idx], self.dq_buf[idx]))[:, : np.prod(shape[1:])]
ValueError: operands could not be broadcast together with shapes (2,1024) (3,1) 

@alecandido
Copy link
Member

With the branch fix_collect_shots issues with rabi and T1 are solved, now I can run it in 2 qubits.

Thanks for the verification

But in routine allXY I got an error:

I opened a dedicated issue in Qibosoq, qiboteam/qibosoq#130, I will inspect the problem as soon as possible.

@stavros11 stavros11 changed the base branch from main to 0.1 October 2, 2024 12:07
@alecandido
Copy link
Member

@JavierSerranoGarcia this PR is most likely outdated now. Can we close it?

@JavierSerranoGarcia
Copy link
Collaborator Author

Same comments than #157

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants