Wednesday, April 3, 2024
Location: Folsom Library Fischbach Room
(Limited to Faculty, Staff, and Late-stage PhD students)
Topics of Interest:
- Hybrid quantum-classical workflows
- QPU, HPC job management, scheduling, and resource allocation (Qiskit Session Manager, Slurm)
- Checkpointing for large-scale hybrid jobs
- HPC for classical post- and pre-processing including: circuit transpilation and circuit optimization
- HPC for scaling up qubit counts using circuit knitting methods
- HPC for circuit design: discovery of efficient circuits encoding target problems techniques to compose circuits
- HPC for quantum chip design: large-scale simulation of quantum chips (e.g. scaling up FEM simulations of superconducting qubits)
- Reversible computing
- Development of high-performance C/C++ libraries for QC
Time | Session |
09.00 am - 10.00 am | Opening session: introduction and baseline |
10.00 am – 12.00 pm | Session 1: HPC workflows |
12.00 pm – 01.00 pm | Lunch – brought in |
01.00 pm - 03.00 pm | Session 2: Direct Access API design |
03.00 pm - 05.00 pm | Session 3: Quantum Software for HPC |
05.30 pm - 06.00 pm | Closing session: readout of action points |
Sessions
Present the agenda for the day, the expected outcome, the main questions that need to be solved and in what session we think they fit, and present the overall integration plan, and the projected split of responsibilities.
During our collaboration, the middleware team, Iskandar & David, will identify opportunities for IBM Quantum <-> HPC integration. From bindings to popular HPC programming languages or extensions to well-stablished software, to HPC best-practices and methodologies.
The proposal, and our request to RPI, is to observe an end-to-end application development or execution workflow (ideally for a quantum-classical algorithm) with details on:
- How do users authenticate to HPC systems? Do they use single sign on?
- How do you handle storage of inputs and results for HPC workloads?
- Programming languages used
- Workload management system:
- resource manager, scheduling logic
- queue types (resource/time constraints)
- workflow management tool
- Package management (dependencies)
- How is RPI managing third party dependencies?
- What approval processes do you have to introduce packages?
- Constrains and requirements.
- Security process to request access to external packages.
- Security process to request a new version of a package.
- Logging. How logs are emitted and consumed.
- debugging. How faulty code is debugged.
- data you need to inspect.
- Metrics. Which metrics are available on jobs.
- Working with accelerators (GPUs):
- how do you request those resources
- which libraries are used
- Data TTL for retention and other security policies.
The Direct Access API team will need to expose job-lifetime related capabilities to RPI’s local network. The ergonomics of these interfaces are heavily influenced by the use cases RPI can project. This session is a discussion on how the user base of RPI looks like, and their use cases.
Here are some of the questions we would want to answer:
- Use cases
- What are some of the main Quantum research/workloads that RPI is engaged in
- What of these do you believe would be good candidates for taking advantage of HPC + Quantum
- For these candidates, how would you describe the kind and amount of data that needs to move back and forth from HPC <-> Quantum, as well as how iterative these are (how many times back and forth)
- Who are your end users (i.e. who are you making these integrated systems available to)?
- What key researchers at RPI
- If beyond RPI, who else?
- What is your ideal workflow…
- from HPC to Quantum systems?
- from your scheduler to Direct Access API?
- How do you manage scheduling in your current HPC environment (i.e.: what tools are you using)?
- Would workflow go from HPC to Quantum and/or vice versa?
And some projections:
- What would it be the split of HPC jobs shared with Quantum? (ex. 20% of HPC jobs sent to quantum or vice versa)
- Do you have an expectation on what percentage of Quantum workload would ideally come from the HPC environment?
- How often will Quantum workloads not be shared with HPC?
- Are there multiple HPCs that will be integrated with the Quantum system?
The de-facto tool for programming is Qiskit but Qiskit primary environment was not intended to be HPC so we would want to identify opportunities of take advantage of the high-performance environment.
- What are your needs for circuit construction?
- What are your needs for compilation?
- Do you have any direct performance expectations around compilation?
- What about memory overhead for compilation, are there expected ranges of memory?
- Are you using Qiskit? (why or why not)
- If not qiskit what are you using and why?
- Is there anything you think is missing or want from Qiskit?