Nobisuke
Dekisugi
RAG
Community
Privacy policy
2024/08/10 03:15
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.
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.
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.
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.
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.
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