pyqrack-cuda 1.38.0__tar.gz → 1.72.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. pyqrack_cuda-1.72.6/Makefile +67 -0
  2. {pyqrack_cuda-1.38.0/pyqrack_cuda.egg-info → pyqrack_cuda-1.72.6}/PKG-INFO +4 -4
  3. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/README.md +2 -2
  4. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/__init__.py +13 -5
  5. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/neuron_activation_fn.py +2 -2
  6. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/pauli.py +1 -1
  7. pyqrack_cuda-1.72.6/pyqrack/qrack_ace_backend.py +1544 -0
  8. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/qrack_circuit.py +68 -40
  9. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/qrack_neuron.py +27 -9
  10. pyqrack_cuda-1.72.6/pyqrack/qrack_neuron_torch_layer.py +170 -0
  11. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/qrack_simulator.py +698 -216
  12. pyqrack_cuda-1.72.6/pyqrack/qrack_stabilizer.py +58 -0
  13. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/qrack_system/qrack_system.py +189 -121
  14. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/quimb_circuit_type.py +1 -1
  15. pyqrack_cuda-1.72.6/pyqrack/stats/__init__.py +6 -0
  16. pyqrack_cuda-1.72.6/pyqrack/stats/load_quantized_data.py +35 -0
  17. pyqrack_cuda-1.72.6/pyqrack/stats/quantize_by_range.py +56 -0
  18. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6/pyqrack_cuda.egg-info}/PKG-INFO +4 -4
  19. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack_cuda.egg-info/SOURCES.txt +6 -0
  20. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/setup.py +4 -4
  21. pyqrack_cuda-1.38.0/Makefile +0 -54
  22. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/LICENSE +0 -0
  23. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/MANIFEST.in +0 -0
  24. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyproject.toml +0 -0
  25. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack/qrack_system/__init__.py +0 -0
  26. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  27. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  28. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack_cuda.egg-info/requires.txt +0 -0
  29. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  30. {pyqrack_cuda-1.38.0 → pyqrack_cuda-1.72.6}/setup.cfg +0 -0
@@ -0,0 +1,67 @@
1
+ PYTHON3 := $(shell which python3 2>/dev/null)
2
+
3
+ PYTHON := python3
4
+
5
+ UNAME_S := $(shell uname -s)
6
+ UNAME_P := $(shell uname -p)
7
+ QRACK_PRESENT := $(wildcard qrack/.)
8
+
9
+ ifeq ("$(wildcard /usr/local/bin/cmake)", "/usr/local/bin/cmake")
10
+ CMAKE_L := /usr/local/bin/cmake
11
+ else
12
+ ifeq ("$(wildcard /usr/bin/cmake)", "/usr/bin/cmake")
13
+ CMAKE_L := /usr/bin/cmake
14
+ else
15
+ CMAKE_L := cmake
16
+ endif
17
+ endif
18
+
19
+ .PHONY: help
20
+ help:
21
+ @echo "Please use \`make <target>' where <target> is one of"
22
+ @echo " build-deps to build PennyLane-Qrack C++ dependencies"
23
+ @echo " install to install PennyLane-Qrack"
24
+ @echo " wheel to build the PennyLane-Qrack wheel"
25
+ @echo " dist to package the source distribution"
26
+
27
+ .PHONY: build-deps
28
+ build-deps:
29
+ rm -rf pyqrack/qrack_system/qrack_lib
30
+ rm -rf pyqrack/qrack_system/qrack_cl_precompile
31
+ ifneq ($(OS),Windows_NT)
32
+ ifeq ($(QRACK_PRESENT),)
33
+ git clone https://github.com/unitaryfund/qrack.git; cd qrack; git checkout afca3ccb8766fc07d4a6f0c71a60282e9a548bce; cd ..
34
+ endif
35
+ mkdir -p qrack/build
36
+ ifeq ($(UNAME_S),Linux)
37
+ ifeq ($(UNAME_P),x86_64)
38
+ cd qrack/build; $(CMAKE_L) -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DENABLE_OPENCL=OFF -DENABLE_CUDA=ON -DENABLE_RDRAND=OFF -DENABLE_DEVRAND=ON -DQBCAPPOW=8 -DCPP_STD=17 ..; make qrack_pinvoke qrack_cl_precompile
39
+ else
40
+ cd qrack/build; $(CMAKE_L) -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DENABLE_OPENCL=OFF -DENABLE_CUDA=ON -DENABLE_RDRAND=OFF -DENABLE_DEVRAND=ON -DENABLE_COMPLEX_X2=OFF -DENABLE_SSE3=OFF -DQBCAPPOW=8 -DCPP_STD=17 ..; make qrack_pinvoke qrack_cl_precompile
41
+ endif
42
+ endif
43
+ ifeq ($(UNAME_S),Darwin)
44
+ ifeq ($(UNAME_P),x86_64)
45
+ cd qrack/build; cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DQBCAPPOW=8 ..; make qrack_pinvoke qrack_cl_precompile
46
+ else
47
+ cd qrack/build; cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DENABLE_OPENCL=OFF -DENABLE_RDRAND=OFF -DENABLE_COMPLEX_X2=OFF -DENABLE_SSE3=OFF -DQBCAPPOW=8 ..; make qrack_pinvoke qrack_cl_precompile
48
+ endif
49
+ endif
50
+ endif
51
+ mkdir pyqrack/qrack_system/qrack_lib; cp qrack/build/libqrack_pinvoke.* pyqrack/qrack_system/qrack_lib/; cd ../../..
52
+ mkdir pyqrack/qrack_system/qrack_cl_precompile; cp qrack/build/qrack_cl_precompile pyqrack/qrack_system/qrack_cl_precompile/; cd ../../..
53
+
54
+ .PHONY: install
55
+ install:
56
+ ifndef PYTHON3
57
+ @echo "To install PyQrack you need to have Python 3 installed"
58
+ endif
59
+ $(PYTHON) setup.py install
60
+
61
+ .PHONY: wheel
62
+ wheel:
63
+ $(PYTHON) setup.py bdist_wheel
64
+
65
+ .PHONY: dist
66
+ dist:
67
+ $(PYTHON) setup.py sdist
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.38.0
3
+ Version: 1.72.6
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -34,7 +34,7 @@ Classifier: Programming Language :: Python :: 3.9
34
34
  Classifier: Programming Language :: Python :: 3.10
35
35
  Classifier: Programming Language :: Python :: 3.11
36
36
  Classifier: Programming Language :: Python :: 3.12
37
- Classifier: Topic :: Scientific/Engineering
37
+ Classifier: Topic :: Scientific/Engineering :: Quantum Computing
38
38
  Description-Content-Type: text/markdown
39
39
  License-File: LICENSE
40
40
  Provides-Extra: dev
@@ -58,7 +58,7 @@ Pure Python bindings for the pure C++11/OpenCL Qrack quantum computer simulator
58
58
 
59
59
  (**PyQrack** is just pure Qrack.)
60
60
 
61
- **Note, if building from source**: You must build and install [unitaryfund/qrack](https://github.com/unitaryfund/qrack) to build the `main` branch from source. CI/CD builds wheels that contain pre-compiled Qrack binaries, and that is the form published on PyPi. **For PyQrack-CUDA, the package is distributed as source-only on PyPi, so that the Qrack build step can do its best to try to automatically detect your available CUDA architectures.**
61
+ **For PyQrack-CUDA, the package is distributed as source-only on PyPi, so that the Qrack build step can do its best to try to automatically detect your available CUDA architectures.**
62
62
 
63
63
  **If you're looking for Mac ARM support, use the package `pyqrack`, not `pyqrack-cpu`.** Mac officially "deprecated" OpenCL years ago. Hence, accelerator support is not included in ARM-based Mac wheels, and OpenCL installation is **not** required on these systems, but, if you have a CUDA accelerator on ARM-based Mac, you could try the package `pyqrack-cuda` instead.
64
64
 
@@ -90,4 +90,4 @@ For custom Qrack build floating-point precision, where options are `half`, `floa
90
90
 
91
91
  Please feel welcome to open an issue, if you'd like help. 😃
92
92
 
93
- **Special thanks go to Zeeshan Ahmed, for bug fixes and design suggestions, Ashish Panigrahi, for documentation and design suggestions, WingCode, for documentation, and to the broader community of Qrack contributors, for years of happy Qracking! You rock!**
93
+ **Special thanks go to Zeeshan Ahmed, for bug fixes and design suggestions, Ashish Panigrahi, for documentation and design suggestions, WingCode, for documentation, Or Golan, for CI build pipeline tooling, and to the broader community of Qrack contributors, for years of happy Qracking! You rock!**
@@ -5,7 +5,7 @@ Pure Python bindings for the pure C++11/OpenCL Qrack quantum computer simulator
5
5
 
6
6
  (**PyQrack** is just pure Qrack.)
7
7
 
8
- **Note, if building from source**: You must build and install [unitaryfund/qrack](https://github.com/unitaryfund/qrack) to build the `main` branch from source. CI/CD builds wheels that contain pre-compiled Qrack binaries, and that is the form published on PyPi. **For PyQrack-CUDA, the package is distributed as source-only on PyPi, so that the Qrack build step can do its best to try to automatically detect your available CUDA architectures.**
8
+ **For PyQrack-CUDA, the package is distributed as source-only on PyPi, so that the Qrack build step can do its best to try to automatically detect your available CUDA architectures.**
9
9
 
10
10
  **If you're looking for Mac ARM support, use the package `pyqrack`, not `pyqrack-cpu`.** Mac officially "deprecated" OpenCL years ago. Hence, accelerator support is not included in ARM-based Mac wheels, and OpenCL installation is **not** required on these systems, but, if you have a CUDA accelerator on ARM-based Mac, you could try the package `pyqrack-cuda` instead.
11
11
 
@@ -37,4 +37,4 @@ For custom Qrack build floating-point precision, where options are `half`, `floa
37
37
 
38
38
  Please feel welcome to open an issue, if you'd like help. 😃
39
39
 
40
- **Special thanks go to Zeeshan Ahmed, for bug fixes and design suggestions, Ashish Panigrahi, for documentation and design suggestions, WingCode, for documentation, and to the broader community of Qrack contributors, for years of happy Qracking! You rock!**
40
+ **Special thanks go to Zeeshan Ahmed, for bug fixes and design suggestions, Ashish Panigrahi, for documentation and design suggestions, WingCode, for documentation, Or Golan, for CI build pipeline tooling, and to the broader community of Qrack contributors, for years of happy Qracking! You rock!**
@@ -1,12 +1,20 @@
1
- # (C) Daniel Strano and the Qrack contributors 2017-2021. All rights reserved.
1
+ # (C) Daniel Strano and the Qrack contributors 2017-2025. All rights reserved.
2
2
  #
3
3
  # Use of this source code is governed by an MIT-style license that can be
4
4
  # found in the LICENSE file or at https://opensource.org/licenses/MIT.
5
5
 
6
- from .qrack_system import QrackSystem, Qrack
7
- from .qrack_simulator import QrackSimulator
8
- from .qrack_neuron import QrackNeuron
9
- from .qrack_circuit import QrackCircuit
10
6
  from .pauli import Pauli
11
7
  from .neuron_activation_fn import NeuronActivationFn
12
8
  from .quimb_circuit_type import QuimbCircuitType
9
+ from .qrack_ace_backend import QrackAceBackend
10
+ from .qrack_circuit import QrackCircuit
11
+ from .qrack_neuron import QrackNeuron
12
+ from .qrack_neuron_torch_layer import (
13
+ QrackTorchNeuron,
14
+ QrackNeuronFunction,
15
+ QrackNeuronTorchLayer,
16
+ )
17
+ from .qrack_simulator import QrackSimulator
18
+ from .qrack_stabilizer import QrackStabilizer
19
+ from .qrack_system import QrackSystem, Qrack
20
+ from .stats.quantize_by_range import quantize_by_range
@@ -1,4 +1,4 @@
1
- # (C) Daniel Strano and the Qrack contributors 2017-2021. All rights reserved.
1
+ # (C) Daniel Strano and the Qrack contributors 2017-2025. All rights reserved.
2
2
  #
3
3
  # Pauli operators are specified for "b" (or "basis") parameters.
4
4
  #
@@ -11,7 +11,7 @@ from enum import IntEnum
11
11
  class NeuronActivationFn(IntEnum):
12
12
  # Default
13
13
  Sigmoid = 0
14
- # Rectified linear
14
+ # Rectified linear
15
15
  ReLU = 1
16
16
  # Gaussian linear
17
17
  GeLU = 2
@@ -1,4 +1,4 @@
1
- # (C) Daniel Strano and the Qrack contributors 2017-2021. All rights reserved.
1
+ # (C) Daniel Strano and the Qrack contributors 2017-2025. All rights reserved.
2
2
  #
3
3
  # Pauli operators are specified for "b" (or "basis") parameters.
4
4
  #