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

Custom instructions & drivers' extensions #1063

Open
alecandido opened this issue Oct 7, 2024 · 0 comments
Open

Custom instructions & drivers' extensions #1063

alecandido opened this issue Oct 7, 2024 · 0 comments
Labels
compiler execution Execution API (sequences, program, configs, ...)
Milestone

Comments

@alecandido
Copy link
Member

As a more systematic solution to the problem exposed in #1062, another option is to allow extensions of the Qibolab native instructions, such that they can be developed separately from the main package.

This would make it possible to essentially factor pieces of low-level code in the same way it happens for functions in programming languages.

The feature would require both a mechanism for listing new instructions (pulse-like objects, for PulseSequences), and a way to extend the driver to process the given instruction, turning it into the required device's input (i.e. machine assembly code and configs, or calls to the provided API, according to the driver internal structure).

There should be a standard mechanism for drivers to retrieve the possibly registered implementation for non-native instructions.

Example

For the case of the on device RB (which may implemented on top of different lower level primitives, like sampling), there could be an RB(depth) instruction/pulse-like, and this may be unraveled into the code required to execute the RB and acquire its results.

@alecandido alecandido added this to the Qibolab 0.3.0 milestone Oct 7, 2024
@alecandido alecandido added execution Execution API (sequences, program, configs, ...) compiler labels Nov 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler execution Execution API (sequences, program, configs, ...)
Projects
None yet
Development

No branches or pull requests

1 participant