common.title
Cloud support

Nobisuke

Dekisugi

RAG


autoQAOA
RAG for dev
Fortune telling app
Annealing

Community

Overview
Service overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

Introduction to Qrows: A Quantum Gate Simulator Compatible with Both CUDA and ROCm

Yuichiro Minato

2024/08/10 03:15

#Featured

Introduction to Qrows: A Quantum Gate Simulator Compatible with Both CUDA and ROCm

As the development of quantum computers accelerates, the need for efficient and versatile simulators becomes increasingly critical for research and application development. Qrows is a new quantum gate simulator that supports both CUDA and ROCm, offering the flexibility to adapt to various hardware environments. Designed as a backend for Qiskit, Qrows seamlessly integrates with existing quantum circuits and workflows.

Key Features of Qrows

  • Cross-Platform Support: Qrows is designed to operate efficiently on both CUDA and ROCm platforms, making it compatible with a wide range of GPUs. This ensures that whether you're using NVIDIA or AMD hardware, high-speed simulation is always within reach.

  • Optimized Performance: By leveraging GPU power, Qrows delivers fast and accurate simulations, enabling quicker testing and iteration of quantum algorithms, thereby shortening the development cycle.

  • Seamless Integration with Qiskit: Qrows functions as a backend for Qiskit, allowing users to execute simulations with a familiar interface. For Qiskit users, this means minimal learning curve and immediate applicability.

Example Usage

Here’s an example of how to use Qrows as a backend for your quantum circuits in Qiskit:

from qiskit import QuantumCircuit
from qrows import QrowsBackend

backend = QrowsBackend()

# Create a quantum circuit with 2 qubits
qc = QuantumCircuit(2)
qc.h(0)       # Apply Hadamard gate to qubit 0
qc.cx(0, 1)   # Apply CNOT gate with control qubit 0 and target qubit 1

# Execute the circuit directly
job = backend.run(qc)
result = job.result()

print(result)
cuda

Optimal contraction path:
([(0, 2), (0, 2), (0, 1)],   Complete contraction:  a,b,ac,cbde->de
         Naive scaling:  5
     Optimized scaling:  4
      Naive FLOP count:  1.280e+2
  Optimized FLOP count:  4.400e+1
   Theoretical speedup:  2.909e+0
  Largest intermediate:  4.000e+0 elements
--------------------------------------------------------------------------------
scaling        BLAS                current                             remaining
--------------------------------------------------------------------------------
   2           GEMM                ac,a->c                          b,cbde,c->de
   2   OUTER/EINSUM                c,b->cb                           cbde,cb->de
   4           GEMM            cb,cbde->de                                de->de)

Result(backend_name='qrows_backend', backend_version='1.0', qobj_id='4950160031473169067', job_id='4950160031473169067', success=True, results=[{'data': {'state_vec': array([0.70710678+0.j, 0.        +0.j, 0.        +0.j, 0.70710678+0.j])}, 'header': {'name': 'circuit-160'}, 'status': 'DONE'}], date=None, status=None, header=None)

With Qrows, you not only get the simulation results but also a detailed report on the computational resources used by the entire circuit. This provides deeper insights into the efficiency of your quantum algorithms.

Benefits of Qrows

  1. Multi-Platform Flexibility: With support for both CUDA and ROCm, Qrows easily adapts to different hardware environments. This allows simulations to be performed across a wide range of settings without being tied to specific hardware.

  2. Enhanced Performance: By maximizing GPU utilization, Qrows enables faster and more scalable simulations compared to traditional simulators. This makes it more efficient for simulating large quantum circuits and testing complex algorithms.

  3. Ease of Use: For users already familiar with Qiskit, adopting Qrows is straightforward. You can quickly build a powerful simulation environment by simply adding Qrows as a backend to your existing Qiskit code.

Qrows not only bridges the gap between different hardware platforms but also serves as a high-performance, reliable tool that will become indispensable for quantum computing researchers and developers. Whether on CUDA or ROCm, Qrows is ready to take your quantum simulations to the next level.

© 2024, blueqat Inc. All rights reserved