Q-CTRL digest

Run high-value hybrid quantum applications easily using Fire Opal’s new convenience features

April 30, 2024
Written by
Rowen Wu
Rowen Wu

Fire Opal, our core error suppression product, is designed to deliver maximum performance with minimum effort. That extends to helping you navigate ongoing platform changes without any fuss.

Because augmenting quantum hardware performance is where our software excels, we can help you abstract and simplify hardware execution even as platforms evolve. The less you have to worry about these details, the more you can push the limits of what’s possible in your quantum applications!

This is why we’re excited to release two new features that make Fire Opal simpler and even more powerful for common hybrid and quantum-machine-learning (QML) workflows! You can achieve more while ensuring you’re getting the best possible device performance.

Optimizing for multi-job workloads

Fire Opal now has an iterate function designed for workflows that require multiple jobs to be submitted. Typically, these workflows fall under two categories:

Variational quantum algorithms (VQAs)

Also known as hybrid algorithms, VQAs combine quantum and classical computation. The algorithm alternates between quantum execution and classical optimization, with the latter deciding the next set of inputs to be fed into the quantum execution. This process is repeated until an answer is found that is considered "good enough."

Batch workloads

A workload too large to fit into a single job - it must be split across multiple jobs, which make up a “batch”. QML implementations often require batch workloads.

Both of these workflows can be easily accommodated using the iterate feature. The benefit of using iterate is that it optimizes the submission of multiple jobs to ensure that your pre-processing time is shortened and you don’t lose your place in the device queue.

For example, when you submit jobs to the IBM Quantum Platform and utilize iterate, a Qiskit Runtime session is automatically created and managed in the background. This enables you to execute multiple jobs from a single algorithm run without the interruption of having to rejoin the queue. When you’re finished with your workload, simply call `stop_iterate`, which will promptly close the session. Fire Opal takes care of all of the hardware optimization, session management, and queueing for you.

Fire Opal power users may know that sessions were used by default previously when submitting jobs via the execute function. Given the recent changes to Qiskit Runtime execution modes, using a session by default could result in unexpected charges. Since we’re always finding ways to reduce your compute costs, Fire Opal will only use sessions for iterate calls, and the session will be closed when stop_iterate is called.

TLDR: Use iterate when you know that you need to submit multiple jobs. Use execute when submitting a single job.

Check out the documentation article on submitting multiple jobs for more details.

Leveraging the power of parameterized quantum circuits

Fire Opal also now supports the input of a parameterized quantum circuit and associated parameter values delivering huge time (and cost) savings for key applications. By executing PQCs via Fire Opal, you get all the benefits of the AI-driven error suppression pipeline, while saving compilation time.

A parameterized quantum circuit (PQC) is a circuit where some gates or operations are defined with a tunable element that may be undefined initially but can be adjusted during computation. These parameters serve as variables that can be adjusted to perform specific tasks or solve particular problems.

PQCs are particularly useful in quantum machine learning, optimization, and other variational algorithms. In these applications, the parameters are often optimized to minimize a cost function, maximize some objective, or solve a specific problem. Classical optimization routines are commonly used to adjust the parameters in order to achieve the desired outcome.

You can input PQCs to either the execute or iterate functions—combining the iterate function with parameterized quantum circuits is a simple way to run variational algorithms optimized for device execution and performance.

Learn how to run parameterized quantum circuits via Fire Opal on our documentation.

Start pushing the boundaries of quantum computing today

It’s been great to see how Fire Opal is enabling our partners and customers to run deeper and larger circuits on real hardware. Check out a recent case study from Blue Qubit to see how Fire Opal enables quantum machine learning use cases to scale.

We’re excited to continue supporting our users in meeting their quantum goals and pushing the boundaries of what’s possible on today’s hardware. As the quantum industry continuously evolves, so do its associated software and platforms - this is how we all advance! At Q-CTRL, we work to ensure that you can benefit from these continued upgrades while maintaining the same simple user experience you enjoy. Through key releases like the new iterate function, we’re committed to ensuring that you continue to benefit from the best algorithmic performance, ease of use, and efficient utilization of compute resources! In fact, these new features originated from feedback from our users.

We’re not done with these features either! We’ll continue enhancing the iterate function to be even more efficient for both use cases mentioned like asynchronous job execution. This will make it easier for you to send a batch of jobs in parallel and retrieve the results once they are all finished.

But if all of this is a bit over your head, Fire Opal simplifies workflows even further. If you want to bypass circuits entirely, you can use Fire Opal’s QAOA Solver, which handles every aspect of the entire end-to-end hybrid algorithm implementation for you so you can focus on solving the problems you care about most!

Try out our new features by following this tutorial combining parameterized quantum circuits with the iterate function to run a Variational Quantum Eigensolver algorithm. And join our Discord server to get access to the latest updates and share feedback.

Latest news and updates