Batched Quantum Circuit Simulation on GPU

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current quantum circuit simulation on GPUs faces inefficiencies due to high kernel overheads when simulating multiple shots independently, limiting the acceleration of small qubit circuits and preventing ideal speedup, as GPUs can only perform the same type of calculation simultaneously.

Innovation Solution

The approach involves generalizing quantum gates to be calculated by the same operations in a single GPU kernel, allowing multiple gates from multiple shots to be packed into a batched kernel, reducing kernel overheads by employing a control mask to generate defined matrix representations and executing kernel operations efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple shots are simulated independently on GPU, then each shot can be processed separately, but kernel overheads increase significantly

Engineering Contradiction:
Improvesimulation accuracyVSAvoidkernel overhead time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent combines multiple independent shot simulations into a single batched kernel execution on the GPU. Instead of launching separate kernels for each shot, the system packs multiple shots into one kernel, sharing the kernel overhead and significantly reducing total execution time while maintaining simulation accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The batched kernel is designed to handle multiple different quantum circuit shots within a single universal kernel execution. The kernel accepts batched input data representing multiple shots and processes them all simultaneously, making the kernel multi-functional and eliminating the need for separate specialized kernels for each shot.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If small qubit circuits are simulated on GPU, then parallel processing can be utilized, but kernel overhead prevents ideal speedup

Engineering Contradiction:
Improvesimulation speedVSAvoidkernel overhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple small qubit circuit simulations into a single batched kernel execution. By combining multiple small circuits that would individually incur kernel overhead into one batched operation, the system achieves ideal speedup by utilizing GPU parallel processing capabilities while amortizing the kernel launch overhead across multiple circuits.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If quantum gates are calculated separately for each shot, then gate-specific operations can be optimized, but computational costs increase

Engineering Contradiction:
Improvegate operation accuracyVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The batched kernel implements a universal gate operation mechanism that can handle different quantum gates for multiple shots within a single execution framework. The kernel uses control masks and batched matrix operations to apply gate-specific transformations accurately while maintaining a single unified computational path, reducing overall computational cost compared to separate gate operations for each shot.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12032888B2Batched quantum circuits simulation on a graphics processing unit
Publication Date: 2024.07.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12032888B2 patent drawing
  • US12032888B2 patent drawing
  • US12032888B2 patent drawing

AI summary

Systems, computer-implemented methods, and computer program products to facilitate batched quantum circuits simulation on a graphics processing unit are provided. According to an embodiment, a system can comprise a first processor that executes computer executable components stored in memory. The computer executable components can comprise a generalization component that generates a first defined matrix representation of a qubit gate and that employs a control mask to generate a second defined matrix representation of a multi-qubit gate. The computer executable components can further comprise an execution component that executes a kernel overhead operation using the first defined matrix representation and the second defined matrix representation to generate a batched kernel.