Skip to main content

QFactor GPU implementation in BQSKit using JAX

Project description

QFactor implementation on GPUs using JAX

bqskit-qfactor-jax is a Python package that implements circuit instantiation with QFactor on GPUs to accelerate BQSKit. It uses JAX as an abstraction layer of the GPUs, seamlessly utilizing JIT compilation and GPU parallelism.

Installation

bqskit-qfactor-jax is available for Python 3.8+ on Linux.

First, install JAX with GPU support, you may refer to JAX's installation instructions.

Next, install this package with pip:

pip install bqskit-qfactor-jax

Running bqskit-qfactor-jax

Please set the environment variable XLA_PYTHON_CLIENT_PREALLOCATE=False when using this package.

Please take a look at the examples to see some basic usage.

When using several workers on the same GPU, we recommend using Nvidia's MPS. You may initiate it using the command line

nvidia-cuda-mps-control -d

You can disable it by running this command line:

echo quit | nvidia-cuda-mps-control

References

Kukliansky, Alon, et al. "QFactor:A Domain-Specific Optimizer for Quantum Circuit Instantiation." arXiv preprint arXiv:2306.08152 (2023).

License

The software in this repository is licensed under a BSD free software license and can be used in source or binary form for any purpose as long as the simple licensing requirements are followed. See the LICENSE file for more information.

Copyright

Quantum Fast Circuit Optimizer (QFactor) JAX implementation Copyright (c) 2023, U.S. Federal Government and the Government of Israel. All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bqskit-qfactor-jax-0.0.1.tar.gz (15.1 kB view details)

Uploaded Source

File details

Details for the file bqskit-qfactor-jax-0.0.1.tar.gz.

File metadata

  • Download URL: bqskit-qfactor-jax-0.0.1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for bqskit-qfactor-jax-0.0.1.tar.gz
Algorithm Hash digest
SHA256 27661dbe5d5c306b9b7c023bd780e5ce2d0c0039d86bd931a4d59b6bf3662136
MD5 8c85bc2506a5c7ac94e2c22367b55c5e
BLAKE2b-256 665953783da70a7c7a3dad874546a78af462e3f2b962e85400b7b54f1d0a9f75

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page