cuquantum-python-jax-cu13 0.0.7__tar.gz → 0.0.8__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 (46) hide show
  1. {cuquantum_python_jax_cu13-0.0.7/cuquantum_python_jax_cu13.egg-info → cuquantum_python_jax_cu13-0.0.8}/PKG-INFO +3 -3
  2. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/README.md +1 -1
  3. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/cppsrc/cudensitymat.h +8 -6
  4. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/cppsrc/cudensitymat_jax.cpp +20 -20
  5. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/context.py +27 -33
  6. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8/cuquantum_python_jax_cu13.egg-info}/PKG-INFO +3 -3
  7. cuquantum_python_jax_cu13-0.0.8/cuquantum_python_jax_cu13.egg-info/requires.txt +2 -0
  8. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/pyproject.toml +2 -2
  9. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/pyproject.toml.template +2 -2
  10. cuquantum_python_jax_cu13-0.0.7/cuquantum_python_jax_cu13.egg-info/requires.txt +0 -2
  11. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/LICENSE +0 -0
  12. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/MANIFEST.in +0 -0
  13. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/NV.LICENSE +0 -0
  14. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/configure.sh +0 -0
  15. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/__init__.py +0 -0
  16. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/_build_info.py +0 -0
  17. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/cppsrc/CMakeLists.txt +0 -0
  18. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/cppsrc/cudensitymat_jax.h +0 -0
  19. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/cppsrc/pybind.cpp +0 -0
  20. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/cppsrc/utils.h +0 -0
  21. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/operator_action.py +0 -0
  22. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/__init__.py +0 -0
  23. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/base.py +0 -0
  24. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/elementary_operator.py +0 -0
  25. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/matrix_operator.py +0 -0
  26. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/operator.py +0 -0
  27. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/operator_action_prim.py +0 -0
  28. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/operator_term.py +0 -0
  29. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/pysrc/simplifier_config.py +0 -0
  30. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/densitymat/jax/utils.py +0 -0
  31. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/__init__.py +0 -0
  32. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/_build_info.py +0 -0
  33. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/cppsrc/CMakeLists.txt +0 -0
  34. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/cppsrc/custabilizer.h +0 -0
  35. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/cppsrc/custabilizer_jax.cpp +0 -0
  36. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/cppsrc/custabilizer_jax.h +0 -0
  37. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/cppsrc/pybind.cpp +0 -0
  38. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/pysrc/__init__.py +0 -0
  39. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/pysrc/_backend.py +0 -0
  40. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum/stabilizer/jax/pysrc/_ffi.py +0 -0
  41. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum_python_jax_cu13.egg-info/SOURCES.txt +0 -0
  42. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum_python_jax_cu13.egg-info/dependency_links.txt +0 -0
  43. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum_python_jax_cu13.egg-info/not-zip-safe +0 -0
  44. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/cuquantum_python_jax_cu13.egg-info/top_level.txt +0 -0
  45. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/setup.cfg +0 -0
  46. {cuquantum_python_jax_cu13-0.0.7 → cuquantum_python_jax_cu13-0.0.8}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuquantum-python-jax-cu13
3
- Version: 0.0.7
3
+ Version: 0.0.8
4
4
  Summary: NVIDIA cuQuantum Python JAX
5
5
  Author-email: NVIDIA Corporation <cuquantum-python@nvidia.com>
6
6
  License-Expression: BSD-3-Clause
@@ -21,7 +21,7 @@ Requires-Python: >=3.11.0
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
23
  License-File: NV.LICENSE
24
- Requires-Dist: cuquantum-python-cu13~=26.9.0
24
+ Requires-Dist: cuquantum-python-cu13~=26.11.0
25
25
  Requires-Dist: jax[cuda13-local]>=0.8
26
26
  Dynamic: license-file
27
27
 
@@ -106,7 +106,7 @@ Runtime dependencies of the cuQuantum Python JAX package include:
106
106
  * Python 3.11+
107
107
  * An NVIDIA GPU with compute capability 7.5+
108
108
  * CUDA Toolkit 12.x or 13.x
109
- * cuquantum-python-cu12~=26.9.0 for CUDA 12 or cuquantum-python-cu13~=26.9.0 for CUDA 13
109
+ * cuquantum-python-cu12~=26.11.0 for CUDA 12 or cuquantum-python-cu13~=26.11.0 for CUDA 13
110
110
  * jax[cuda12-local]>=0.8 for CUDA 12 or jax[cuda13-local]>=0.8 for CUDA 13
111
111
 
112
112
  ## Developer Notes
@@ -79,7 +79,7 @@ Runtime dependencies of the cuQuantum Python JAX package include:
79
79
  * Python 3.11+
80
80
  * An NVIDIA GPU with compute capability 7.5+
81
81
  * CUDA Toolkit 12.x or 13.x
82
- * cuquantum-python-cu12~=26.9.0 for CUDA 12 or cuquantum-python-cu13~=26.9.0 for CUDA 13
82
+ * cuquantum-python-cu12~=26.11.0 for CUDA 12 or cuquantum-python-cu13~=26.11.0 for CUDA 13
83
83
  * jax[cuda12-local]>=0.8 for CUDA 12 or jax[cuda13-local]>=0.8 for CUDA 13
84
84
 
85
85
  ## Developer Notes
@@ -64,7 +64,7 @@
64
64
 
65
65
  #define CUDENSITYMAT_MAJOR 0 //!< cuDensityMat major version.
66
66
  #define CUDENSITYMAT_MINOR 7 //!< cuDensityMat minor version.
67
- #define CUDENSITYMAT_PATCH 0 //!< cuDensityMat patch version.
67
+ #define CUDENSITYMAT_PATCH 1 //!< cuDensityMat patch version.
68
68
  #define CUDENSITYMAT_VERSION (CUDENSITYMAT_MAJOR * 10000 + CUDENSITYMAT_MINOR * 100 + CUDENSITYMAT_PATCH)
69
69
 
70
70
 
@@ -3774,11 +3774,7 @@ cudensitymatStatus_t cudensitymatEigenDecompositionConfigure(
3774
3774
  * (e) the representative `state` is a single-site (1-mode) MPS (an MPS
3775
3775
  * with at least two sites is required by the DMRG engine);
3776
3776
  * (f) the state data type is not `CUDA_R_64F` or `CUDA_C_64F`, or
3777
- * `computeType` is not `CUDENSITYMAT_COMPUTE_64F`; or
3778
- * (g) shift-invert DMRG is configured with `NUM_SITES == 2` for an MPS
3779
- * containing exactly two tensors. This last restriction is a two-site
3780
- * ProjectionMPS dependency limitation: `NUM_SITES == 1` remains supported
3781
- * for a two-tensor MPS.
3777
+ * `computeType` is not `CUDENSITYMAT_COMPUTE_64F`.
3782
3778
  */
3783
3779
  cudensitymatStatus_t cudensitymatEigenDecompositionPrepare(
3784
3780
  const cudensitymatHandle_t handle,
@@ -3928,6 +3924,12 @@ cudensitymatStatus_t cudensitymatDestroyWorkspace(
3928
3924
  /**
3929
3925
  * \brief Queries the required workspace buffer size.
3930
3926
  *
3927
+ * \note Two-site MPS operations can execute without caller-provided host
3928
+ * scratch even when a nonzero host workspace size is reported. If host
3929
+ * scratch is provided, its size must be at least the reported value.
3930
+ * Providing the reported host workspace is recommended for performance.
3931
+ * Device scratch requirements remain mandatory.
3932
+ *
3931
3933
  * \param[in] handle Library handle.
3932
3934
  * \param[in] workspaceDescr Workspace descriptor.
3933
3935
  * \param[in] memSpace Memory space.
@@ -56,7 +56,7 @@ xla::ffi::Error OperatorActionImpl(cudaStream_t stream,
56
56
  FFI_CUDA_ERROR_CHECK(cudaStreamSynchronize(stream));
57
57
  }
58
58
 
59
- // Attach storage to input state.
59
+ // Process buffers for all inputs, including input state, elementary/matrix operators and coefficients.
60
60
  std::vector<void*> stateInComponentBufs;
61
61
  std::vector<size_t> stateInComponentSizes;
62
62
  for (int i = 0; i < inBufs.size(); ++i) {
@@ -103,6 +103,7 @@ xla::ffi::Error OperatorActionImpl(cudaStream_t stream,
103
103
  FFI_CUDA_ERROR_CHECK(cudaStreamSynchronize(stream));
104
104
  }
105
105
 
106
+ // Attach storage to input state.
106
107
  FFI_CUDM_ERROR_CHECK(cudensitymatStateAttachComponentStorage(handle,
107
108
  stateIn,
108
109
  numStateComponents,
@@ -147,9 +148,6 @@ xla::ffi::Error OperatorActionImpl(cudaStream_t stream,
147
148
  stateOutComponentSizes.data())
148
149
  );
149
150
 
150
-
151
- // Execute operator action.
152
-
153
151
  // Attach batched coefficients if needed.
154
152
  if (operatorTermBatchedCoeffsPtrs.size() > 0 || operatorProductBatchedCoeffsPtrs.size() > 0) {
155
153
  FFI_CUDM_ERROR_CHECK(cudensitymatAttachBatchedCoefficients(
@@ -166,8 +164,7 @@ xla::ffi::Error OperatorActionImpl(cudaStream_t stream,
166
164
  // Initialize output state to zero.
167
165
  FFI_CUDM_ERROR_CHECK(cudensitymatStateInitializeZero(handle, stateOut, stream));
168
166
 
169
- FFI_CUDA_ERROR_CHECK(cudaStreamSynchronize(stream));
170
-
167
+ // Execute operator action.
171
168
  FFI_CUDM_ERROR_CHECK(cudensitymatOperatorComputeAction(handle,
172
169
  superoperator,
173
170
  0.0, // time
@@ -193,8 +190,8 @@ XLA_FFI_DEFINE_HANDLER_SYMBOL(
193
190
  OperatorActionImpl,
194
191
  xla::ffi::Ffi::Bind()
195
192
  .Ctx<xla::ffi::PlatformStream<cudaStream_t>>()
196
- .RemainingArgs() // all input buffers
197
- .RemainingRets() // all output buffers (workspace first, then state out components)
193
+ .RemainingArgs() // all input buffers (state_in components, elementary/matrix operators, coefficients)
194
+ .RemainingRets() // all output buffers (workspace first, then state_out components)
198
195
  .Attr<xla::ffi::Span<const int64_t>>("other_in_types")
199
196
  .Attr<xla::ffi::Span<const int64_t>>("other_in_ptrs")
200
197
  .Attr<int64_t>("batch_size")
@@ -316,7 +313,6 @@ xla::ffi::Error OperatorActionBackwardDiffImpl(cudaStream_t stream,
316
313
  stateOutAdjComponentSizes.data()));
317
314
 
318
315
  // Attach storage to output state.
319
- // outBufs layout: [workspace, state in adj components..., grad bufs...]
320
316
  std::vector<void*> stateInAdjComponentBufs;
321
317
  std::vector<size_t> stateInAdjComponentSizes;
322
318
 
@@ -353,10 +349,18 @@ xla::ffi::Error OperatorActionBackwardDiffImpl(cudaStream_t stream,
353
349
  workspacePtrAligned,
354
350
  workspaceSizeAligned));
355
351
 
356
- // Initialize output state to zero.
352
+ // Initialize state_in_adj to zero.
357
353
  FFI_CUDM_ERROR_CHECK(cudensitymatStateInitializeZero(handle, stateInAdj, stream));
358
354
 
359
- // Execute operator action backward differentiation.
355
+ // Zero out the persistent gradient buffers.
356
+ for (int i = 0; i < otherOutPtrs.size(); ++i) {
357
+ xla::ffi::Result<xla::ffi::AnyBuffer> resBuf =
358
+ outBufs.get<xla::ffi::AnyBuffer>(i + numStateComponents + 1).value();
359
+ FFI_CUDA_ERROR_CHECK(cudaMemsetAsync(reinterpret_cast<void*>(otherOutPtrs[i]),
360
+ 0,
361
+ resBuf->size_bytes(),
362
+ stream));
363
+ }
360
364
 
361
365
  // Attach batched coefficients if needed.
362
366
  if (operatorTermBatchedCoeffsPtrs.size() > 0 || operatorProductBatchedCoeffsPtrs.size() > 0) {
@@ -371,6 +375,7 @@ xla::ffi::Error OperatorActionBackwardDiffImpl(cudaStream_t stream,
371
375
  operatorProductBatchedCoeffs.data()));
372
376
  }
373
377
 
378
+ // Execute operator action backward differentiation.
374
379
  FFI_CUDM_ERROR_CHECK(cudensitymatOperatorComputeActionBackwardDiff(handle,
375
380
  superoperator,
376
381
  0.0, // time
@@ -384,13 +389,7 @@ xla::ffi::Error OperatorActionBackwardDiffImpl(cudaStream_t stream,
384
389
  workspaceDesc,
385
390
  stream));
386
391
 
387
- // The Python gradient callbacks (for both scalar and tensor operators) dispatch
388
- // their += accumulation operations on CuPy's default CUDA stream, which may differ
389
- // from the XLA FFI stream used here. Synchronize the default stream before copying
390
- // so that all callback writes are guaranteed to be visible to the memcpy below.
391
- FFI_CUDA_ERROR_CHECK(cudaStreamSynchronize(cudaStreamDefault));
392
-
393
- // outBufs layout (after workspace and numStateComponents state adj bufs): [grad bufs].
392
+ // Copy gradient buffers from CuPy arrays to XLA buffers.
394
393
  for (int i = 0; i < otherOutPtrs.size(); ++i) {
395
394
  xla::ffi::Result<xla::ffi::AnyBuffer> resBuf =
396
395
  outBufs.get<xla::ffi::AnyBuffer>(i + numStateComponents + 1).value();
@@ -418,8 +417,9 @@ XLA_FFI_DEFINE_HANDLER_SYMBOL(
418
417
  OperatorActionBackwardDiffImpl,
419
418
  xla::ffi::Ffi::Bind()
420
419
  .Ctx<xla::ffi::PlatformStream<cudaStream_t>>()
421
- .RemainingArgs() // all input buffers
422
- .RemainingRets() // all output buffers (workspace first, then state in adj components, then grad bufs)
420
+ .RemainingArgs() // all input buffers (state_in components, state_out_adj components,
421
+ // elementary/matrix operators, coefficients)
422
+ .RemainingRets() // all output buffers (workspace first, then state_in_adj components, then grad bufs)
423
423
  .Attr<xla::ffi::Span<const int64_t>>("other_in_types")
424
424
  .Attr<xla::ffi::Span<const int64_t>>("other_in_ptrs")
425
425
  .Attr<xla::ffi::Span<const int64_t>>("other_out_ptrs")
@@ -300,46 +300,40 @@ class StateContext:
300
300
  )
301
301
  self.logger.debug(f"Created output state at {hex(self._state_out)}")
302
302
 
303
- # The state adjoints are to be set in create_adjoint_buffers when backward rule is called.
303
+ # The state adjoints are created by the first backward rule, in create_adjoint_buffers.
304
304
  self._state_in_adj = None
305
305
  self._state_out_adj = None
306
306
 
307
307
  def create_adjoint_buffers(self):
308
308
  """
309
- Create adjoint buffers for the input and output states.
309
+ Create the input and output state adjoints once per config; later backward passes reuse them.
310
310
 
311
- Frees any previously allocated adjoint handles before allocating new
312
- ones so that repeated backward passes do not leak C-side GPU memory.
311
+ Like the input and output handles, the adjoint handles are config-only (buffers are attached
312
+ on every call), and traced backward primitives embed their addresses as static parameters.
313
+ They must therefore live as long as this context: destroying them here would leave earlier
314
+ traced or compiled backward actions pointing at freed handles. free() releases them.
313
315
  """
314
- if self._state_in_adj is not None:
315
- cudm.destroy_state(self._state_in_adj)
316
- self.logger.debug(f"Destroyed stale input state adjoint at {hex(self._state_in_adj)}")
317
- self._state_in_adj = None
318
-
319
- if self._state_out_adj is not None:
320
- cudm.destroy_state(self._state_out_adj)
321
- self.logger.debug(f"Destroyed stale output state adjoint at {hex(self._state_out_adj)}")
322
- self._state_out_adj = None
323
-
324
- self._state_in_adj = cudm.create_state(
325
- CudensitymatContext._handle,
326
- self.state_purity,
327
- len(self._space_mode_extents),
328
- self._space_mode_extents,
329
- self.batch_size,
330
- self._data_type
331
- )
332
- self.logger.debug(f"Created input state adjoint at {hex(self._state_in_adj)}")
333
-
334
- self._state_out_adj = cudm.create_state(
335
- CudensitymatContext._handle,
336
- self.state_purity,
337
- len(self._space_mode_extents),
338
- self._space_mode_extents,
339
- self.batch_size,
340
- self._data_type
341
- )
342
- self.logger.debug(f"Created output state adjoint at {hex(self._state_out_adj)}")
316
+ if self._state_in_adj is None:
317
+ self._state_in_adj = cudm.create_state(
318
+ CudensitymatContext._handle,
319
+ self.state_purity,
320
+ len(self._space_mode_extents),
321
+ self._space_mode_extents,
322
+ self.batch_size,
323
+ self._data_type
324
+ )
325
+ self.logger.debug(f"Created input state adjoint at {hex(self._state_in_adj)}")
326
+
327
+ if self._state_out_adj is None:
328
+ self._state_out_adj = cudm.create_state(
329
+ CudensitymatContext._handle,
330
+ self.state_purity,
331
+ len(self._space_mode_extents),
332
+ self._space_mode_extents,
333
+ self.batch_size,
334
+ self._data_type
335
+ )
336
+ self.logger.debug(f"Created output state adjoint at {hex(self._state_out_adj)}")
343
337
 
344
338
  def free(self):
345
339
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuquantum-python-jax-cu13
3
- Version: 0.0.7
3
+ Version: 0.0.8
4
4
  Summary: NVIDIA cuQuantum Python JAX
5
5
  Author-email: NVIDIA Corporation <cuquantum-python@nvidia.com>
6
6
  License-Expression: BSD-3-Clause
@@ -21,7 +21,7 @@ Requires-Python: >=3.11.0
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
23
  License-File: NV.LICENSE
24
- Requires-Dist: cuquantum-python-cu13~=26.9.0
24
+ Requires-Dist: cuquantum-python-cu13~=26.11.0
25
25
  Requires-Dist: jax[cuda13-local]>=0.8
26
26
  Dynamic: license-file
27
27
 
@@ -106,7 +106,7 @@ Runtime dependencies of the cuQuantum Python JAX package include:
106
106
  * Python 3.11+
107
107
  * An NVIDIA GPU with compute capability 7.5+
108
108
  * CUDA Toolkit 12.x or 13.x
109
- * cuquantum-python-cu12~=26.9.0 for CUDA 12 or cuquantum-python-cu13~=26.9.0 for CUDA 13
109
+ * cuquantum-python-cu12~=26.11.0 for CUDA 12 or cuquantum-python-cu13~=26.11.0 for CUDA 13
110
110
  * jax[cuda12-local]>=0.8 for CUDA 12 or jax[cuda13-local]>=0.8 for CUDA 13
111
111
 
112
112
  ## Developer Notes
@@ -0,0 +1,2 @@
1
+ cuquantum-python-cu13~=26.11.0
2
+ jax[cuda13-local]>=0.8
@@ -17,7 +17,7 @@ build-backend = "setuptools.build_meta"
17
17
 
18
18
  [project]
19
19
  name = "cuquantum-python-jax-cu13"
20
- version = "0.0.7"
20
+ version = "0.0.8"
21
21
  description = "NVIDIA cuQuantum Python JAX"
22
22
  readme = "README.md"
23
23
  license = "BSD-3-Clause"
@@ -41,7 +41,7 @@ classifiers = [
41
41
  "Environment :: GPU :: NVIDIA CUDA :: 13",
42
42
  ]
43
43
  dependencies = [
44
- "cuquantum-python-cu13~=26.9.0",
44
+ "cuquantum-python-cu13~=26.11.0",
45
45
  "jax[cuda13-local]>=0.8",
46
46
  ]
47
47
 
@@ -17,7 +17,7 @@ build-backend = "setuptools.build_meta"
17
17
 
18
18
  [project]
19
19
  name = "cuquantum-python-jax-cu@CUDA_MAJOR_VER@"
20
- version = "0.0.7"
20
+ version = "0.0.8"
21
21
  description = "NVIDIA cuQuantum Python JAX"
22
22
  readme = "README.md"
23
23
  license = "BSD-3-Clause"
@@ -41,7 +41,7 @@ classifiers = [
41
41
  "@CUDA_CLASSIFIER@",
42
42
  ]
43
43
  dependencies = [
44
- "cuquantum-python-cu@CUDA_MAJOR_VER@~=26.9.0",
44
+ "cuquantum-python-cu@CUDA_MAJOR_VER@~=26.11.0",
45
45
  "jax[cuda@CUDA_MAJOR_VER@-local]@JAX_VERSION_SPEC@",
46
46
  ]
47
47
 
@@ -1,2 +0,0 @@
1
- cuquantum-python-cu13~=26.9.0
2
- jax[cuda13-local]>=0.8