Quantum Rings SDK 0.10 Release Notes

The Quantum Rings SDK 0.10 release is here, packed with groundbreaking features, powerful enhancements, and critical bug fixes that will supercharge your quantum development workflow!

Product Information

  • Product: Quantum Rings SDK
  • Version: 0.10.x
  • Platforms: Windows, Linux, Mac OS
  • Release Date: May 30, 2025
  • Release Type: Feature Enhancement
  • Audience: All Users

Installation Instructions

  • Uninstall previous versions and install the new version the pypi distribution. CUDA
  • Runtime is required for the GPU-enabled version and can be installed by following instructions on NVIDIA's website.

CPU Only version

Use this version if you do not have an NVIDIA GPU with a minimum compute capability of 8.0, or if you are running quantum circuits with fewer qubits and gate operations, or if you are using macOS.

pip install -i QuantumRingsLib

GPU Version

Use this version if you have a compatible NVIDIA GPU and a large quantum circuit to crack.

pip install -i quantumrings-nvidia-gpu

The CUDA Toolkit is required and should be installed before using the SDK. Refer to NVIDIA's website for CUDA Toolkit instructions. For detailed installation instructions, please refer to the "Setup and install the SDK Quantum Rings SDK" documentation.

New Features and Enhancements in this Release

GPU Support

Prepare to unleash the full power of your hardware with the addition of NVIDIA GPU support! For users with compatible GPUs, you can now harness the amber_quantum_rings backend to achieve blazing-fast quantum circuit execution on Windows and Linux.

Just install quantumrings-nvidia-gpu and ensure your CUDA Toolkit paths are correctly set – then watch your large quantum circuits crack with unprecedented speed! To use the CPU, just switch to the scarlet_quantum_rings backend.

QASM2 Importer Enhancements

The QASM2 Importer now boasts support for conditional if statements with indexed classical registers, opening up new possibilities for complex circuit design. The SDK previously executed these if statements correctly when input via Python using the c_if method.

Relaxed append API

Our append API has been refined and relaxed, offering greater flexibility when combining circuits. The receiving circuit must have an equal or larger number of qubits or classical registers for it to work.

measure_all and measure_active enhancements

These methods will now intelligently create classical bits for you if they weren't defined initially, or when importing a QASM2 file.

QASM2 Importer and Classical Bits

For a more precise control, the QASM2 Importer will no longer create classical bits if they are not explicitly defined. To measure qubits with such imported circuits, you can use measure_all() to create the required classical bits or create a new QuantumCircuit with an equal number of qubits and classical bits before appending the imported circuit and measuring specific qubits.

Configuration File Support

We've enhanced the workflow when using GPU by enabling the configuration file to store your backend name, making backend acquisition effortless! The QuantumRingsProvider.get_backend API automatically loads the backend name from the configuration file if no argument is provided. To do this, save the credentials directly into the configuration file or use the QuantumRingsProvider.save_account API.

Bug Fixes

  • The run method is now more flexible, allowing positional arguments without needing parameter names. Users can provide them in the correct sequence.
  • QASM2 files with problematic line feed characters are now fully supported.
  • The inverse API finally behaves as expected, correctly inverting t and s family gates.
  • If you experienced that annoying slowdown when acquiring the backend multiple times in the same Python instance? Gone!
  • Qubit label printing in the circuit viewer on some Linux installations has been fixed, ensuring crystal-clear visuals, addressing issues due to codepage differences.
  • During QASM2 Import, c and e are now correctly accepted as QuantumRegisters.

Known Issues and Limitations:

QASM files with user-defined gates containing measure or reset instructions embedded inside those user-defined gates will not import. This will be supported in the future.

Important Changes Coming Soon:

When constructing QuantumCircuit objects, you will soon need to explicitly specify the number of classical bits required. If not specified, classical bits will not be created.

Example:

qc = QuantumCircuit(5, 3)

(creates five qubits and three classical bits).

Next
Next

Reflections on Boulder Startup Week: Quantum Energy and Founder Spirit