Welcome to the IBM Quantum Developer Conference 2024! These challenges are designed to test your quantum computing skills using the Qiskit product features announced during QDC. The competition spans three days and features two challenge tracks.
Please carefully review the contest rules to ensure a smooth competition experience.
To participate, please complete the setup steps below. Remember to bring a laptop with internet access, as no devices will be provided at the venue.
- Create an IBM Quantum account if you haven't already.
- Sign up using the same email address you registered with for this event. Your account will be linked to a specific instance for IBM Quantum services.
- Follow this guide to create a Python environment and install the Qiskit SDK and Runtime. Ensure Jupyter is installed (Step 4 in the guide).
- Install additional packages:
- Qiskit Functions catalog client (instructions)
- Qiskit Transpiler Service client (instructions)
Alternative: If setting up Python or Jupyter locally is difficult, consider using Google Colab or qBraid. See this guide for details.
To ensure all tools are up to date, please update your packages right before the challenge begins.
If using a local environment:
-
Activate your Python environment.
-
Download the requirements file to your workspace.
-
Run this command to install/update packages:
pip install -r path/to/requirements.txt --upgrade
Note: Replace
path/to/requirements.txt
with your file's path.
If using an online lab environment:
Use the same requirements.txt
file and pip command to install/update packages. For qBraid, activate the "QDC 2024" environment under the Environment tab, which comes pre-configured.
You can launch the by clicking the button below Launch on qBraid to clone and open this gitHub link on qBraid Lab.
Each day, the challenge notebooks will be available in their respective "Day" folders within the GitHub repository. Please download the notebooks for each day, open them, and run them to proceed with the challenges.
Every afternoon during QDC, attendees will have the opportunity to participate in hands-on coding challenges, where you will be able to practice using the latest tools and features highlighted in the morning seminars. You will be using Jupyter notebooks to complete the challenges, which can be found in this dedicated GitHub repository. To ensure you have the best challenge experience possible it is very important to follow the preparations steps outlined in the GitHub README prior to the event.
Every day there will be two challenges happening in parallel, and you may choose which one you would like to participate in based on your skills and interests. See below a summary of topics covered by each challenge:
-
Track A: Introduction to Qiskit Functions and Qiskit addons
- Get familiar with the IBM Functions catalogue
- Learn how to use Circuit functions
- Build your own function using Qiskit addons
-
Track B: Utility-scale workload with sample-based quantum diagonalization (SQD)
- Learn how to use SQD to improve results from a Hamiltonian simulation problem
-
Track A: Introduction to transpilation in Qiskit
- Understand how to use
generate_preset_passmanager
with different options - Build custom pass managers
- Get started with the Qiskit Transpiler Service
- Understand how to use
-
Track B: Experiment with custom pass managers
- Build the best possible custom pass manager
- Optimize your circuit to reduce circuit depth and two-qubit gates
- Track A: Introduction to noise learning and job debugging
- Learn debugging techniques for error mitigation queries
- Use noise learning helper programs to estimate noise
- Track B: Apply runtime error mitigation to a utility-scale problem
- Choose the best error mitigation strategy based on learned noise
The seminars and challenges at QDC are designed to cover a broad range of advanced topics featuring Qiskit tools and capabilities. While participants are not expected to have a deep understanding of everything that will be covered we do recommend familiarizing yourself with the basics before attending the event. See below a collection of recommended resources for learning more about the topics prior to the event:
- Guide - Introduction to Qiskit
- Guide - Install Qiskit
- Guide - Setup an IBM Quantum channel
- Guide - Qiskit Code Assistant
- Guide - Hello World
- Guide - Introduction to Qiskit Functions
- Tutorial - Building workflows with the IBM Circuit function
- Tutorial - Compute dissociation curves for strong coupling systems with QunaSys QURI Chemistry
- Tutorial - Solve higher-order binary optimization problems with Q-CTRL's Optimization Solver
- Guide - Qiskit addons