Skip to content

Added a Probana backend and a real device solver - #128

Merged
gcattan merged 5 commits into
IBM:mainfrom
toncho11:main
Sep 1, 2026
Merged

Added a Probana backend and a real device solver#128
gcattan merged 5 commits into
IBM:mainfrom
toncho11:main

Conversation

@toncho11

@toncho11 toncho11 commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator
  • Added a new solver that targets real probabilistic computers.
    • The solver was required because the existing p-kit solvers perform the p-bit updates in software, while with a physical device the updates (in the case of Probana) are performed directly on the hardware.
  • Added a backend for the research probabilistic computer Probana. The class implements the USB protocol used by Probana and handles the transfer of J and h.

The Probana backend can be used as an example for the implementaion of other physical probabilistic computers.

toncho11 and others added 4 commits August 31, 2026 17:29
Added a backend for the research probabilistic computer Probana.
The solver was required because the existing p-kit solvers perform the p-bit updates in software, while with a physical device the updates (in the case of Probana) are performed directly on the hardware.
@gcattan

gcattan commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Fair enough. If I understand correctly, it just default to a NumpyBackend when used with the other solvers.
There is one edge case you may need to check, is with the execute function, because Pobrana doesn't have annealing right?

@toncho11

Copy link
Copy Markdown
Collaborator Author

Thank you for the review.
I think some version of annealing can be implemented in the Probana firmware. I will look into it.

@toncho11

toncho11 commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

So the currently implemented version in Probana does not support linear annealing, only constant. This means that the following 2 demos won't work:

  • tsp.py
  • quantum_tfim.py

But Quantum won't work anyway on Probana, because it requires too many p-bits.

@toncho11

toncho11 commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

I think your edge case is now addressed. Probana supports local constant/linear annealing, while unsupported custom annealing_func schedules are rejected explicitly in RealDeviceSolver. The backend also avoids parallel access to the single USB device by handling multiple shots through the physical backend itself.

LGTM

@gcattan
gcattan merged commit 10819ef into IBM:main Sep 1, 2026
7 of 8 checks passed
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