pyqrack-cuda-complex128 1.69.0__tar.gz → 1.73.0__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.

Potentially problematic release.


This version of pyqrack-cuda-complex128 might be problematic. Click here for more details.

Files changed (29) hide show
  1. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/Makefile +16 -5
  2. {pyqrack_cuda_complex128-1.69.0/pyqrack_cuda_complex128.egg-info → pyqrack_cuda_complex128-1.73.0}/PKG-INFO +2 -2
  3. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_simulator.py +37 -0
  4. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_system/qrack_system.py +9 -2
  5. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0/pyqrack_cuda_complex128.egg-info}/PKG-INFO +2 -2
  6. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/setup.py +2 -2
  7. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/LICENSE +0 -0
  8. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/MANIFEST.in +0 -0
  9. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/README.md +0 -0
  10. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyproject.toml +0 -0
  11. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/__init__.py +0 -0
  12. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/neuron_activation_fn.py +0 -0
  13. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/pauli.py +0 -0
  14. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_ace_backend.py +0 -0
  15. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_circuit.py +0 -0
  16. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_neuron.py +0 -0
  17. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  18. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_stabilizer.py +0 -0
  19. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/qrack_system/__init__.py +0 -0
  20. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack_cuda_complex128.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack_cuda_complex128.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack_cuda_complex128.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack_cuda_complex128.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/pyqrack_cuda_complex128.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda_complex128-1.69.0 → pyqrack_cuda_complex128-1.73.0}/setup.cfg +0 -0
@@ -6,6 +6,16 @@ UNAME_S := $(shell uname -s)
6
6
  UNAME_P := $(shell uname -p)
7
7
  QRACK_PRESENT := $(wildcard qrack/.)
8
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
+
9
19
  .PHONY: help
10
20
  help:
11
21
  @echo "Please use \`make <target>' where <target> is one of"
@@ -20,21 +30,22 @@ build-deps:
20
30
  rm -rf pyqrack/qrack_system/qrack_cl_precompile
21
31
  ifneq ($(OS),Windows_NT)
22
32
  ifeq ($(QRACK_PRESENT),)
23
- git clone https://github.com/unitaryfund/qrack.git; cd qrack; git checkout b6d3ab98d5d89bfff2cc9ad7d6e7a30c231c62a9; cd ..
33
+ git clone https://github.com/unitaryfund/qrack.git; cd qrack; git checkout 909992056900c61d53ea85dfac2febb4d0c87951; cd ..
24
34
  endif
25
35
  mkdir -p qrack/build
26
36
  ifeq ($(UNAME_S),Linux)
27
37
  ifeq ($(UNAME_P),x86_64)
28
- cd qrack/build; cmake -DENABLE_RDRAND=OFF -DENABLE_DEVRAND=ON -DENABLE_OPENCL=OFF -DENABLE_CUDA=ON -DQBCAPPOW=11 -DFPPOW=6 ..; make qrack_pinvoke
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 -DFPPOW=6 -DCPP_STD=17 ..; make qrack_pinvoke qrack_cl_precompile
29
39
  else
30
- cd qrack/build; cmake -DENABLE_RDRAND=OFF -DENABLE_DEVRAND=ON -DENABLE_COMPLEX_X2=OFF -DENABLE_SSE3=OFF -DENABLE_OPENCL=OFF -DENABLE_CUDA=ON -DQBCAPPOW=11 -DFPPOW=6 ..; make qrack_pinvoke
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 -DFPPOW=6 -DCPP_STD=17 ..; make qrack_pinvoke qrack_cl_precompile
31
41
  endif
32
42
  endif
33
43
  ifeq ($(UNAME_S),Darwin)
34
44
  ifeq ($(UNAME_P),x86_64)
35
- cd qrack/build; cmake -DENABLE_OPENCL=OFF -DENABLE_CUDA=ON -DQBCAPPOW=11 -DFPPOW=6 -DBoost_INCLUDE_DIR=/opt/homebrew/include -DBoost_LIBRARY_DIRS=/opt/homebrew/lib ..; make qrack_pinvoke
45
+ cd qrack/build; cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DENABLE_OPENCL=OFF -DENABLE_CUDA=ON -DQBCAPPOW=8 ..; make qrack_pinvoke qrack_cl_precompile
36
46
  else
37
- cd qrack/build; cmake -DENABLE_RDRAND=OFF -DENABLE_COMPLEX_X2=OFF -DENABLE_SSE3=OFF -DENABLE_OPENCL=OFF -DENABLE_CUDA=ON -DQBCAPPOW=11 -DFPPOW=6 -DBoost_INCLUDE_DIR=/opt/homebrew/include -DBoost_LIBRARY_DIRS=/opt/homebrew/lib ..; make qrack_pinvoke
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
38
49
  endif
39
50
  endif
40
51
  mkdir pyqrack/qrack_system/qrack_lib; cp qrack/build/libqrack_pinvoke.* pyqrack/qrack_system/qrack_lib/; cd ../../..
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda-complex128
3
- Version: 1.69.0
3
+ Version: 1.73.0
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
@@ -60,6 +60,7 @@ class QrackSimulator:
60
60
  isHostPointer=(
61
61
  True if os.environ.get("PYQRACK_HOST_POINTER_DEFAULT_ON") else False
62
62
  ),
63
+ isSparse=False,
63
64
  noise=0,
64
65
  pyzxCircuit=None,
65
66
  qiskitCircuit=None,
@@ -99,6 +100,7 @@ class QrackSimulator:
99
100
  isCpuGpuHybrid,
100
101
  isOpenCL,
101
102
  isHostPointer,
103
+ isSparse
102
104
  )
103
105
 
104
106
  self._throw_if_error()
@@ -3320,6 +3322,41 @@ class QrackSimulator:
3320
3322
  Qrack.qrack_lib.SetNoiseParameter(self.sid, np)
3321
3323
  self._throw_if_error()
3322
3324
 
3325
+ def set_ace_max_qb(self, qb):
3326
+ """Set "automatic circuit elision" (ACE) max qubits
3327
+
3328
+ If isSchmidtDecompose=True, maximum entangled subsytem size
3329
+ of this simulator will be capped to 'qb', and entangling
3330
+ gates that would exceed that size are replaced with gate
3331
+ shadows.
3332
+
3333
+ Args:
3334
+ qb: maximum subsystem qubits
3335
+
3336
+ Raises:
3337
+ RuntimeError: QrackSimulator raised an exception.
3338
+ """
3339
+ Qrack.qrack_lib.SetAceMaxQb(self.sid, qb)
3340
+ self._throw_if_error()
3341
+
3342
+ def set_sparse_ace_max_mb(self, mb):
3343
+ """Set sparse "automatic circuit elision" (ACE) max memory
3344
+
3345
+ If isSchmidtDecompose=True, isSparse=True, and
3346
+ isOpenCL=False, maximum subsytem size memory MB of this
3347
+ simulator will be capped to 'mb', and entangling gates
3348
+ that would exceed that size are replaced with gate
3349
+ shadows.
3350
+
3351
+ Args:
3352
+ mb: maximum subsystem memory in MB
3353
+
3354
+ Raises:
3355
+ RuntimeError: QrackSimulator raised an exception.
3356
+ """
3357
+ Qrack.qrack_lib.SetSparseAceMaxMb(self.sid, mb)
3358
+ self._throw_if_error()
3359
+
3323
3360
  def normalize(self):
3324
3361
  """Normalize the state
3325
3362
 
@@ -111,10 +111,10 @@ class QrackSystem:
111
111
  self.qrack_lib.get_error.argtypes = [c_ulonglong]
112
112
 
113
113
  self.qrack_lib.init_count.restype = c_ulonglong
114
- self.qrack_lib.init_count.argtypes = [c_ulonglong, c_bool]
114
+ self.qrack_lib.init_count.argtypes = [c_ulonglong, c_bool, c_bool]
115
115
 
116
116
  self.qrack_lib.init_count_pager.restype = c_ulonglong
117
- self.qrack_lib.init_count_pager.argtypes = [c_ulonglong, c_bool]
117
+ self.qrack_lib.init_count_pager.argtypes = [c_ulonglong, c_bool, c_bool]
118
118
 
119
119
  self.qrack_lib.init_count_type.restype = c_ulonglong
120
120
  self.qrack_lib.init_count_type.argtypes = [
@@ -129,6 +129,7 @@ class QrackSystem:
129
129
  c_bool,
130
130
  c_bool,
131
131
  c_bool,
132
+ c_bool
132
133
  ]
133
134
 
134
135
  self.qrack_lib.init_count_stabilizer.restype = c_ulonglong
@@ -1218,6 +1219,12 @@ class QrackSystem:
1218
1219
  self.qrack_lib.SetNoiseParameter.restype = None
1219
1220
  self.qrack_lib.SetNoiseParameter.argtypes = [c_ulonglong, c_double]
1220
1221
 
1222
+ self.qrack_lib.SetAceMaxQb.restype = None
1223
+ self.qrack_lib.SetAceMaxQb.argtypes = [c_ulonglong, c_ulonglong]
1224
+
1225
+ self.qrack_lib.SetSparseAceMaxMb.restype = None
1226
+ self.qrack_lib.SetSparseAceMaxMb.argtypes = [c_ulonglong, c_size_t]
1227
+
1221
1228
  self.qrack_lib.Normalize.restype = None
1222
1229
  self.qrack_lib.Normalize.argtypes = [c_ulonglong]
1223
1230
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda-complex128
3
- Version: 1.69.0
3
+ Version: 1.73.0
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
@@ -7,7 +7,7 @@ from setuptools import setup
7
7
  from setuptools.command.build_py import build_py
8
8
 
9
9
 
10
- VERSION = "1.69.0"
10
+ VERSION = "1.73.0"
11
11
 
12
12
  # Read long description from README.
13
13
  README_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'README.md')
@@ -64,7 +64,7 @@ setup(
64
64
  "Programming Language :: Python :: 3.10",
65
65
  "Programming Language :: Python :: 3.11",
66
66
  "Programming Language :: Python :: 3.12",
67
- "Topic :: Scientific/Engineering",
67
+ "Topic :: Scientific/Engineering :: Quantum Computing",
68
68
  ],
69
69
  keywords="pyqrack qrack simulator quantum gpu",
70
70
  install_requires=[],