qiskit-camp-asia-19
qiskit-camp-asia-19 copied to clipboard
Design a pulse programming language
Abstract
Pulse programming in Qiskit is currently implemented as in-memory IR. Design a language and implement a parser/grammar using a standard Python package (see what QASM is using for example) for pulse programming that may be interpreted to form a pulse schedule.
Description
The pulse
module in Qiskit allows scheduling of pulse instructions absolutely in time. A pulse schedule is a basic block of pulse instructions. Implement a low-level language that maps simply to the in-memory pulse IR and generate an interpreter that outputs pulse schedules. This is a large project, but is a rich field of open questions. To be amenable to compiler passes this should be a very low-level representation, similar to LLVA. For an overview of the virtual pulse execution module see the openQASM/Pulse transport specification.
Ideas to consider:
- Should instructions be scheduled explicitly in time, or scheduled based on ordering.
- Could this language be combined with QASM, so that there is seamless integration.
- How would compiler directives be described?
- How would system configuration information be included within the program? Should it be?
- What sort of instructions will be required for classical control hardware? Play pulse, adjust frame, acquire, delay?
- How would pulse functions be defined?
- How would control flow be described?
Members
- @githubhandle
- @githubhandle - Slack:
@slackhandle
email:[email protected]
- Qiskit Coach: @githubhandle
Deliverable
GitHub repo
I'm studying theory of quantum programming language (for example, type systems), so interested in this topic.
However, I don't know what pulse
module is doing.
Can I participate in this project ? ~~And if possible, are there some documents for studying pulse
operations?~~ I noticed the paper's link. Thank you!
I'm interested in this - Anastasia Marchenkova - Physicist
I am interested in this. Sara Metwalli. I am a Computer Engineer! :)
I'm interested in this project. Shin Nishio, CS.
Ok all interested, please find me and we can form a group :)
is @taalexander the coacher of this group?
yes and @maikatakita
Code: https://github.com/SaraM92/qiskit-terra
Presentation: https://docs.google.com/presentation/d/1Y4ky9AYUzQBBoQ2x40uxgn7gFhfaYZFE7FqWlSXZ16A/edit?usp=sharing
Video(presentation): https://youtu.be/duVMwBD9liM