Skip to content

Bump the jax group across 1 directory with 2 updates - #2235

Closed
dependabot[bot] wants to merge 17 commits into
masterfrom
dependabot/pip/jax-93493677ae
Closed

Bump the jax group across 1 directory with 2 updates#2235
dependabot[bot] wants to merge 17 commits into
masterfrom
dependabot/pip/jax-93493677ae

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 3, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on jax and quadax to permit the latest version.
Updates jax to 0.11.1

Release notes

Sourced from jax's releases.

JAX v0.11.1

  • New features

    • Added an error check for trying to deserialize JAX exports that are older than the backwards compatibility window. Without this check the deserialization of expired artifacts may succeed and then result in obscure downstream errors. Added a configuration flag --jax_export_deserialize_expired_versions to temporarily bypass the error check. See https://docs.jax.dev/en/latest/export/export.html#compatibility-guarantees.
    • Added jax.numpy.top_k, which implements numpy.top_k, added in in NumPy v2.6.0 (#39729).
  • Breaking changes

    • The exec_time_optimization_effort and memory_fitting_effort flags have been removed in favor of the EffortLevel enum.
    • JAX does not support anymore deserialization of Exported modules from before January 15th, 2026 because they are beyond the backwards compatibility window. On that date we added support to serialize shardings as NamedSharding, and now that is the only sharding serialization that is supported.
    • jnp.take_along_axis now always defaults wrap_negative_indices to True. It used to default to False for mode=promise_in_bounds and True otherwise. (This also means None is no longer a valid value for wrap_negative_indices.)
  • Deprecations

    • The fields in_shardings_hlo and out_shardings_hlo of jax.export.Exported have been deprecated for a while. Now accessing them raises a warning. Use in_shardings_jax and out_shardings_jax instead.
  • Changes

    • The cuDNN fused attention backward pass (used by jax.nn.dot_product_attention with implementation='cudnn') no longer computes a bias gradient when the only attention bias comes from a boolean mask, whose gradient no caller can request. Bias gradients for an explicit bias or a non-boolean mask are unchanged (#34685).
    • jax.numpy.meshgrid, jax.numpy.ogrid, and jax.numpy.broadcast_arrays now return tuples rather than lists in order to align with NumPy>2.0 and the Array API specification. (#39783, #39789, #39802)
    • When jax.grad or jax.value_and_grad rejects a function with a non-scalar output, the error message now suggests reducing the output to a scalar (e.g. with output.sum()), using jax.jacobian, or reshaping size-1 outputs (#2303).
    • When indexing with non-static or traced slice indices, the error message now suggests using jax.lax.dynamic_slice, jax.lax.dynamic_update_slice, or jax.ds, and shows tracer provenance (#7222).
    • PyTree metadata equality comparison failures now report the specific registered pytree type that caused the error (#13027).

... (truncated)

Changelog

Sourced from jax's changelog.

JAX 0.11.1 (August 17, 2026)

  • New features

    • Added an error check for trying to deserialize JAX exports that are older than the backwards compatibility window. Without this check the deserialization of expired artifacts may succeed and then result in obscure downstream errors. Added a configuration flag --jax_export_deserialize_expired_versions to temporarily bypass the error check. See https://docs.jax.dev/en/latest/export/export.html#compatibility-guarantees.
    • Added {func}jax.numpy.top_k, which implements {func}numpy.top_k, added in in NumPy v2.6.0 ({jax-issue}[#39729](https://github.com/jax-ml/jax/issues/39729)).
  • Breaking changes

    • The exec_time_optimization_effort and memory_fitting_effort flags have been removed in favor of the EffortLevel enum.
    • JAX does not support anymore deserialization of Exported modules from before January 15th, 2026 because they are beyond the backwards compatibility window. On that date we added support to serialize shardings as NamedSharding, and now that is the only sharding serialization that is supported.
    • jnp.take_along_axis now always defaults wrap_negative_indices to True. It used to default to False for mode=promise_in_bounds and True otherwise. (This also means None is no longer a valid value for wrap_negative_indices.)
  • Deprecations

    • The fields in_shardings_hlo and out_shardings_hlo of jax.export.Exported have been deprecated for a while. Now accessing them raises a warning. Use in_shardings_jax and out_shardings_jax instead.
  • Changes

    • The cuDNN fused attention backward pass (used by {func}jax.nn.dot_product_attention with implementation='cudnn') no longer computes a bias gradient when the only attention bias comes from a boolean mask, whose gradient no caller can request. Bias gradients for an explicit bias or a non-boolean mask are unchanged ({jax-issue}[#34685](https://github.com/jax-ml/jax/issues/34685)).
    • {func}jax.numpy.meshgrid, {obj}jax.numpy.ogrid, and {func}jax.numpy.broadcast_arrays now return tuples rather than lists in order to align with NumPy>2.0 and the Array API specification. ({jax-issue}[#39783](https://github.com/jax-ml/jax/issues/39783), {jax-issue}[#39789](https://github.com/jax-ml/jax/issues/39789), {jax-issue}[#39802](https://github.com/jax-ml/jax/issues/39802))
    • When {func}jax.grad or {func}jax.value_and_grad rejects a function with a non-scalar output, the error message now suggests reducing the output to a scalar (e.g. with output.sum()), using {func}jax.jacobian, or reshaping size-1 outputs ({jax-issue}[#2303](https://github.com/jax-ml/jax/issues/2303)).
    • When indexing with non-static or traced slice indices, the error message now suggests using {func}jax.lax.dynamic_slice, {func}jax.lax.dynamic_update_slice, or jax.ds, and shows tracer provenance ({jax-issue}[#7222](https://github.com/jax-ml/jax/issues/7222)).
    • PyTree metadata equality comparison failures now report the specific registered pytree type that caused the error ({jax-issue}[#13027](https://github.com/jax-ml/jax/issues/13027)).

... (truncated)

Commits
  • 2d66622 Prepare for JAX release 0.11.1
  • 3ba3d76 [XLA:GPU] Update lax test precision to account for numerics of new cuDNN fron...
  • 366ff35 Update XLA dependency to use revision
  • ee8d0a1 Rename BUILD to BUILD.bazel in JAX toolchains.
  • e309df5 Merge pull request #40032 from hawkinsp:bazel
  • 36cfce1 Merge pull request #38946 from aybchan:aybchan/update-thor-gpuinfo-test
  • 3b1573a Update bazelversion to 7.7.1.
  • 91eac72 Merge pull request #40031 from jax-ml:fixeditable
  • 2dc5e1a Removed core_map_p and everything which depended on it
  • 7be361e Merge pull request #39759 from jakevdp:util-implicit-typevar
  • Additional commits viewable in compare view

Updates quadax to 0.3.0

Release notes

Sourced from quadax's releases.

v0.3.0

Lots of important changes: better adjoints, extrapolation, better support for reduced precision, improved error estimates, new integration rules and more.

New Features

  • Added pluggable adjoints, controlling how derivatives of a quadrature are computed. quadgk, quadcc, quadts, romberg, and adaptive_quadrature all take a new adjoint argument, and AbstractAdjoint, DirectAdjoint, and LeibnizAdjoint are exported at the top level.
    • DirectAdjoint (the default) differentiates the discretization, reusing the subdivision the primal solve converged to. Matches existing behavior but uses a much faster implementation.
    • LeibnizAdjoint gives the derivative its own adaptive solve, so it gets its own error control rather than inheriting the subdivision chosen for the integral. Often several times faster for a gradient of a scalar-valued integral. That solve can be configured separately from the integral's, via LeibnizAdjoint(options={...}, options_fwd={...}, options_rev={...}). options_fwd and options_rev configure one direction alone, taking precedence over options. This matters most for norm, because the two directions measure different vectors: forward mode integrates the tangent of the integrand, of the integrand's own shape, while reverse mode integrates the cotangent of the arguments being differentiated, whose layout is documented on LeibnizAdjoint.
  • Added convergence acceleration to the adaptive integrators. The sequence of running totals is accelerated using Wynn's epsilon algorithm, which can greatly reduce the work needed for integrands with algebraic singularities or on infinite intervals. quadgk is then the same algorithm as scipy.integrate.quad.
    • quadgk, quadcc, quadts and adaptive_quadrature take a new extrapolate argument controlling it, on by default everywhere except quadts. The tanh-sinh rule converges doubly exponentially, so its running totals have no geometric tail for the epsilon algorithm to sum and the acceleration rarely helps there.
    • The extrapolated value is only returned when its error estimate beats the one from the subdivision, so the accuracy is never worse than with extrapolate=False.
    • Smooth integrands on finite domains don't need it, but the additional cost when it doesn't help is small and constant.
  • Added quadax.tanhsinh, tanh-sinh quadrature on a uniformly refined mesh, and deprecated quadax.rombergts in favour of it. The extrapolation done by rombergts was counterproductive on a tanh-sinh mesh - the substitution already makes the trapezoidal rule converge exponentially, so there is no expansion in powers of the step for the table to fit, and extrapolating anyway returned a value worse than the un-extrapolated sum it was built from while taking more levels to reach a given tolerance.
  • quadax now works in the precision you ask for, rather than always in whatever jax_enable_x64 happens to make the default. The dtype of interval is how you ask: the integrand is called with an x of that dtype, and the result follows it unless the integrand upcasts internally, in which case that is respected too. float16, bfloat16, float32, float64 and complex integrands are all supported, and the default epsabs/epsrel follow the working dtype. See "Precision and dtypes" in the documentation. -Fixes a TypeError from map_interval that made any explicitly-dtyped interval other than the default unusable, on all of quadgk, quadcc, quadts, romberg and tahnsinh, for finite and infinite intervals alike.
    • Fixes a TypeError from GaussKronrodRule/ClenshawCurtisRule/TanhSinhRule's integrate when the integrand's dtype was not the JAX default.
    • The node and weight tables are now built in float64 on the host and rounded once to the working dtype. Previously the Clenshaw-Curtis and tanh-sinh tables were computed in float32 whenever x64 was off, which is less accurate. Building them with numpy also makes them independent of the backend's transcendental functions, which are not all as accurate as the host's.
    • simpson and cumulative_simpson no longer return the default float dtype regardless of their inputs.
    • quadts and tanhsinh now warn when used at float16/bfloat16, where the tanh-sinh clustering can no longer get close enough to an endpoint to be worth having.
  • All iterative quadrature routines take a new throw option, default False. With throw=True a run that stops for any reason other than reaching the requested tolerance raises, with the message its status carries; the default reports the status on info and leaves it to the caller.
  • Added control over how many integrand evaluations are made in parallel.
    • quadgk, quadcc and quadts take a new batch_size, as do the rule classes GaussKronrodRule, ClenshawCurtisRule and TanhSinhRule. It bounds how many of the local rule's nodes are evaluated at once, and is clipped at the number of nodes. Lowering it bounds the memory an expensive integrand needs, which previously could only be done by dropping the order and losing accuracy with it.
    • romberg and tanhsinh take the same argument, where it instead raises the width from one point at a time. A level places 2**(k-1) new points, a count only known at run time, so the last batch of a level is padded up to a full one and one batch shape is traced for every level.
  • Added an open variant of the Clenshaw-Curtis rule. ClenshawCurtisRule and quadcc take a new closed argument, defaulting to True, which keeps the existing closed rule. With closed=False the rule uses the Fejer-2 nodes: the same cos(k*pi/order) family with the two endpoints dropped, order - 1 points exact to degree order - 1, and the same 2:1 nesting against an embedded order // 2 rule.
    • The open variant is much cheaper on infinite intervals whose integrand decays algebraically or for integrands that are singular at an endpoint.
    • The closed rule remains the default and is the cheaper of the two on smooth, peaked and oscillatory integrands, by up to about a factor of two in evaluations.
  • romberg and tanhsinh take a new divmin argument, default 4. It sets what refinement level the solver starts at (number of initial intervals = 2**divmin), with the old behavior corresponding to divmin=0. The new default is more efficient on accelerators, and is generally more robust against false early termination, with a small increase in cost on extremely simple integrands.

Minor changes

  • QuadratureInfo.status remains an integer, but is now a single code naming the termination condition rather than a bitmask of flags. quadax.STATUS is the enumeration of those codes: STATUS.normal, which is 0, means the requested tolerances were reached, and every other code names a difficulty. This is a breaking change in the values themselves: a code is compared against a member, eg info.status == quadax.STATUS.divergent, where a bit was previously tested for. Looking a code up, quadax.STATUS[info.status], gives the member it names, which prints as the message explaining it.
    • A run meeting more than one condition now reports the most severe rather than a bitmask of all of them, ordered by what a reader should do about it: spend more budget, distrust the error estimate, distrust the answer. Where the conditions combined before, the reported one is the actionable one.
  • vmap-ed integrations should now be faster, by stopping evaluation once every batch element has converged, rather than running for the full max_ninter iterations whenever any single element still needs them. Results are unchanged.
  • Improved the accuracy of the error estimates used by all the adaptive integrators. Reported error values and iteration counts change throughout, and integrands whose error was previously under-estimated now take more work to reach a given tolerance. Some integrations that used to report status == 0 while quietly missing the requested tolerance now report a non-zero status instead; the values they return are more accurate than before, not less.
    • status is no longer set on an iteration that reaches the requested tolerance. An integration that converged just as it ran out of sub-intervals previously reported MAX_NINTER despite having succeeded.
    • Integrands that are simply unresolved, rather than limited by roundoff, are no longer written off as ROUNDOFF while they are still converging.
    • Asking for a tolerance tighter than the arithmetic can deliver is now reported as ROUNDOFF, rather than subdividing until the max_ninter limit is reached. Such integrations also finish sooner.
    • The reported error estimate can no longer come back negative.
    • Documented when the nested-rule error estimate can under-state the true error: on integrands sampled at fewer than about three points per oscillation (any rule, any order), on endpoint singularities under ClenshawCurtisRule, and for TanhSinhRule below order 15. Behaviour is unchanged; this is guidance only.
    • y_abs and y_mmn returned by AbstractQuadratureRule.integrate are now the integrals over [a, b] that their docstrings describe; they were previously scaled by a factor of 2 / (b - a). Relevant when calling a rule directly or implementing a custom one.
    • quadts and TanhSinhRule now account for the mass lying beyond their outermost node. A tanh-sinh rule is the trapezoidal rule for an integral over the whole real line in the mapped variable, cut off at a finite range, and the terms past that cutoff carry mass no other weight compensates for. On a bounded integrand the omitted mass is at the level of roundoff and nothing changes; on one singular at an endpoint it can be the whole of the error. Reported error values and sub-interval counts change on such integrands, and runs that used to report success while missing the requested tolerance now report a non-zero status.
  • ClenshawCurtisRule, TanhSinhRule, quadcc, and quadts now raise an error on an order that would build a malformed rule, rather than silently changing the order.
  • Finite intervals are no longer mapped twice - this helps to reduce roundoff error
  • Semi-infinite intervals now use a more numerically stable map to similarly avoid roundoff
  • Tanh-sinh nodes now sit closer to the endpoints of the domain, improving convergence for integrands that are singular at an endpoint. Additional care is also taken when constructing tanh-sinh nodes in reduced precision to ensure the nodes are distinct.
  • romberg takes a new extrapolate argument, on by default. extrapolate=False keeps the same nodes and the same halving schedule but returns the un-extrapolated estimate instead of the Richardson-extrapolated one. Worth having for integrands not smooth enough for the extrapolation's error expansion to hold, where it amplifies the error rather than cancelling it. The convergence check and the reported err follow whichever estimate is in use, and the table returned by full_output then has only its first column filled.
  • Packaging metadata moved from setup.py/setup.cfg into pyproject.toml. Development dependencies are now declared as extras rather than in requirements files, so use pip install -e ".[dev]" (or the narrower test, docs, and lint extras) when working from a checkout.

... (truncated)

Changelog

Sourced from quadax's changelog.

v0.3.0

  • Added quadax.tanhsinh, tanh-sinh quadrature on a uniformly refined mesh, and deprecated quadax.rombergts in favour of it. The extrapolation done by rombergts was counterproductive on a tanh-sinh mesh - the substitution already makes the trapezoidal rule converge exponentially, so there is no expansion in powers of the step for the table to fit, and extrapolating anyway returned a value worse than the un-extrapolated sum it was built from while taking more levels to reach a given tolerance.
  • Reworked how a routine reports why it stopped.
    • QuadratureInfo.status remains an integer, but is now a single code naming the termination condition rather than a bitmask of flags. quadax.STATUS is the enumeration of those codes: STATUS.normal, which is 0, means the requested tolerances were reached, and every other code names a difficulty. This is a breaking change in the values themselves: a code is compared against a member, eg info.status == quadax.STATUS.divergent, where a bit was previously tested for. Looking a code up, quadax.STATUS[info.status], gives the member it names, which prints as the message explaining it.
    • A run meeting more than one condition now reports the most severe rather than a bitmask of all of them, ordered by what a reader should do about it: spend more budget, distrust the error estimate, distrust the answer. Where the conditions combined before, the reported one is the actionable one.
    • All iterative quadrature routines take a new throw option, default False. With throw=True a run that stops for any reason other than reaching the requested tolerance raises, with the message its status carries; the default reports the status on info and leaves it to the caller.
  • Added convergence acceleration to the adaptive integrators. The sequence of running totals is accelerated using Wynn's epsilon algorithm, which can greatly reduce the work needed for integrands with algebraic singularities or on infinite intervals. quadgk is then the same algorithm as scipy.integrate.quad.
    • quadgk, quadcc, quadts and adaptive_quadrature take a new extrapolate argument controlling it, on by default everywhere except quadts. The tanh-sinh rule converges doubly exponentially, so its running totals have no geometric tail for the epsilon algorithm to sum and the acceleration rarely helps there.
    • The extrapolated value is only returned when its error estimate beats the one from the subdivision, so the accuracy is never worse than with extrapolate=False.
    • Smooth integrands on finite domains don't need it, but the additional cost when it doesn't help is small and constant.
    • Derivatives are supported as usual, with either adjoint.
    • Results with extrapolate=False are unchanged.
  • Added pluggable adjoints, controlling how derivatives of a quadrature are computed. quadgk, quadcc, quadts, romberg, rombergts, and adaptive_quadrature all take a new adjoint argument, and AbstractAdjoint, DirectAdjoint, and LeibnizAdjoint are exported at the top level.
    • DirectAdjoint (the default) differentiates the discretization, reusing the subdivision the primal solve converged to. Matches but uses a much faster implementation.
    • LeibnizAdjoint gives the derivative its own adaptive solve, so it gets its own error control rather than inheriting the subdivision chosen for the integral. Often several times faster for a gradient of a scalar-valued integral.

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

@dependabot dependabot Bot added dependencies Issue related to libraries we depend on and how we interface with them run_benchmarks Run timing benchmarks on this PR against current master branch skip_changelog No need to update changelog on this PR labels Jun 3, 2026
@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Memory benchmark result

|               Test Name                |      %Δ      |    Master (MB)     |      PR (MB)       |    Δ (MB)    |    Time PR (s)     |  Time Master (s)   |
| -------------------------------------- | ------------ | ------------------ | ------------------ | ------------ | ------------------ | ------------------ |
  test_objective_jac_w7x                 |    2.34 %    |     4.232e+03      |     4.331e+03      |    99.11     |       32.31        |       28.68        |
  test_proximal_jac_w7x_with_eq_update   |    0.94 %    |     6.862e+03      |     6.926e+03      |    64.18     |       157.51       |       154.88       |
  test_proximal_freeb_jac                |    0.56 %    |     1.354e+04      |     1.361e+04      |    76.37     |       82.80        |       80.30        |
  test_proximal_freeb_jac_blocked        |    0.64 %    |     7.898e+03      |     7.948e+03      |    50.48     |       71.06        |       69.83        |
  test_proximal_freeb_jac_batched        |    0.85 %    |     7.883e+03      |     7.950e+03      |    67.34     |       72.54        |       68.57        |
  test_proximal_jac_ripple               |    1.21 %    |     3.823e+03      |     3.869e+03      |    46.45     |       54.50        |       53.00        |
  test_proximal_jac_ripple_bounce1d      |   -0.49 %    |     4.037e+03      |     4.017e+03      |    -19.87    |       68.41        |       65.82        |
  test_eq_solve                          |    1.42 %    |     1.832e+03      |     1.858e+03      |    25.95     |       52.60        |       52.12        |
  test_objective_quadratic_flux_jac      |    2.31 %    |     2.714e+03      |     2.776e+03      |    62.64     |       50.86        |       53.59        |

For the memory plots, go to the summary of Memory Benchmarks workflow and download the artifact.

@YigitElma
YigitElma marked this pull request as draft June 3, 2026 22:23
Updates the requirements on [jax](https://github.com/jax-ml/jax) to permit the latest version.

Updates `jax` to 0.10.1
- [Release notes](https://github.com/jax-ml/jax/releases)
- [Changelog](https://github.com/jax-ml/jax/blob/main/CHANGELOG.md)
- [Commits](jax-ml/jax@jax-v0.6.2...jax-v0.10.1)

---
updated-dependencies:
- dependency-name: jax
  dependency-version: 0.10.1
  dependency-type: direct:production
  dependency-group: jax
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title Update jax requirement from !=0.7.1,<0.10.0,>=0.6.2 to >=0.6.2,!=0.7.1,<0.11.0 in the jax group Update jax requirement from !=0.7.1,<0.10.0,>=0.6.2 to >=0.6.2,!=0.7.1,<0.11.0 in the jax group across 1 directory Jun 9, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/jax-93493677ae branch from 3d11039 to a71b715 Compare June 9, 2026 17:23
@YigitElma

Copy link
Copy Markdown
Collaborator

Should we go back to updating by patch release? 0.10.1 was able to run, but in 0.10.2 some of the internal functions are removed and our jacfwd_chunked etc cannot be imported properly.

Comment thread tests/test_examples.py
xtol=1e-16,
maxiter=200,
verbose=3,
options={"tr_method": "svd"},

@YigitElma YigitElma Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider explaining this issue in tr_method docs for QR. If there is a chance that the jacobian is singular, then SVD is the more reliable option. If the problem is well-posed otherwise, having a wide bounds can cause this (some of the columns are completely 0).

@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor
|             benchmark_name             |         dt(%)          |         dt(s)          |        t_new(s)        |        t_old(s)        | 
| -------------------------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
 test_build_transform_fft_lowres         |     +5.92 +/- 3.76     | +4.86e-02 +/- 3.09e-02 |  8.69e-01 +/- 2.6e-02  |  8.21e-01 +/- 1.7e-02  |
 test_equilibrium_init_lowres            |     +5.10 +/- 3.59     | +3.28e-01 +/- 2.31e-01 |  6.76e+00 +/- 1.2e-01  |  6.43e+00 +/- 2.0e-01  |
 test_objective_compile_atf              |     -1.54 +/- 4.28     | -9.16e-02 +/- 2.54e-01 |  5.85e+00 +/- 1.4e-01  |  5.94e+00 +/- 2.1e-01  |
 test_objective_compute_atf              |     -0.56 +/- 5.29     | -1.23e-05 +/- 1.17e-04 |  2.19e-03 +/- 5.6e-05  |  2.21e-03 +/- 1.0e-04  |
 test_objective_jac_atf                  |     -5.09 +/- 5.90     | -8.73e-02 +/- 1.01e-01 |  1.63e+00 +/- 8.4e-02  |  1.72e+00 +/- 5.7e-02  |
 test_perturb_1                          |     -0.28 +/- 2.85     | -3.33e-02 +/- 3.38e-01 |  1.18e+01 +/- 2.0e-01  |  1.19e+01 +/- 2.7e-01  |
 test_proximal_jac_atf                   |     -3.72 +/- 1.38     | -2.06e-01 +/- 7.65e-02 |  5.33e+00 +/- 3.1e-02  |  5.54e+00 +/- 7.0e-02  |
 test_proximal_freeb_compute             |     -8.16 +/- 2.83     | -1.14e-02 +/- 3.95e-03 |  1.28e-01 +/- 3.3e-03  |  1.40e-01 +/- 2.2e-03  |
 test_solve_fixed_iter                   |     -5.77 +/- 2.06     | -1.45e+00 +/- 5.18e-01 |  2.37e+01 +/- 3.6e-01  |  2.52e+01 +/- 3.7e-01  |
 test_LinearConstraintProjection_build   |     -8.23 +/- 7.73     | -5.89e-01 +/- 5.53e-01 |  6.57e+00 +/- 1.7e-01  |  7.16e+00 +/- 5.3e-01  |
 test_objective_compute_ripple           |     -7.60 +/- 5.25     | -1.62e-02 +/- 1.12e-02 |  1.97e-01 +/- 9.1e-03  |  2.13e-01 +/- 6.4e-03  |
 test_objective_grad_ripple              |     -2.27 +/- 3.66     | -2.07e-02 +/- 3.34e-02 |  8.93e-01 +/- 2.1e-02  |  9.13e-01 +/- 2.6e-02  |
 test_objective_quadratic_flux_compute   |     -6.28 +/- 15.69    | -3.41e-03 +/- 8.54e-03 |  5.10e-02 +/- 6.1e-03  |  5.44e-02 +/- 5.9e-03  |
 test_build_transform_fft_midres         |     +1.50 +/- 4.64     | +1.36e-02 +/- 4.20e-02 |  9.18e-01 +/- 2.6e-02  |  9.05e-01 +/- 3.3e-02  |
 test_build_transform_fft_highres        |     +1.47 +/- 3.59     | +1.75e-02 +/- 4.28e-02 |  1.21e+00 +/- 3.5e-02  |  1.19e+00 +/- 2.5e-02  |
 test_equilibrium_init_medres            |     +0.42 +/- 3.95     | +3.00e-02 +/- 2.80e-01 |  7.13e+00 +/- 1.9e-01  |  7.10e+00 +/- 2.1e-01  |
 test_objective_compile_dshape_current   |     -7.29 +/- 5.24     | -3.21e-01 +/- 2.30e-01 |  4.08e+00 +/- 1.9e-01  |  4.40e+00 +/- 1.3e-01  |
 test_objective_compute_dshape_current   |     +1.18 +/- 15.93    | +8.22e-06 +/- 1.10e-04 |  7.02e-04 +/- 6.0e-05  |  6.93e-04 +/- 9.3e-05  |
 test_objective_jac_dshape_current       |     -5.30 +/- 18.51    | -1.39e-03 +/- 4.84e-03 |  2.48e-02 +/- 2.2e-03  |  2.62e-02 +/- 4.3e-03  |
 test_perturb_2                          |     +1.08 +/- 4.20     | +1.79e-01 +/- 6.96e-01 |  1.67e+01 +/- 6.5e-01  |  1.66e+01 +/- 2.5e-01  |
 test_proximal_jac_atf_with_eq_update    |     -3.20 +/- 2.32     | -3.93e-01 +/- 2.86e-01 |  1.19e+01 +/- 9.3e-02  |  1.23e+01 +/- 2.7e-01  |
 test_proximal_freeb_jac                 |     -2.20 +/- 3.60     | -1.07e-01 +/- 1.75e-01 |  4.76e+00 +/- 8.7e-02  |  4.87e+00 +/- 1.5e-01  |
 test_solve_fixed_iter_compiled          |     -3.40 +/- 2.94     | -2.11e-01 +/- 1.82e-01 |  6.00e+00 +/- 9.2e-02  |  6.21e+00 +/- 1.6e-01  |
 test_objective_compute_ripple_bounce1d  |     -2.78 +/- 3.98     | -8.67e-03 +/- 1.24e-02 |  3.03e-01 +/- 5.9e-03  |  3.12e-01 +/- 1.1e-02  |
 test_objective_grad_ripple_bounce1d     |     +0.22 +/- 2.42     | +2.08e-03 +/- 2.34e-02 |  9.66e-01 +/- 1.8e-02  |  9.64e-01 +/- 1.5e-02  |
+test_objective_quadratic_flux_jac       |    -11.65 +/- 1.13     | -1.01e+00 +/- 9.74e-02 |  7.64e+00 +/- 7.2e-02  |  8.64e+00 +/- 6.5e-02  |

Github CI performance can be noisy. When evaluating the benchmarks, developers should take this into account.

@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 86.66667% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.56%. Comparing base (7168ac7) to head (bee1527).
⚠️ Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
desc/batching.py 86.66% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2235      +/-   ##
==========================================
- Coverage   94.35%   88.56%   -5.80%     
==========================================
  Files         101      101              
  Lines       29053    29185     +132     
==========================================
- Hits        27414    25847    -1567     
- Misses       1639     3338    +1699     
Files with missing lines Coverage Δ
desc/batching.py 82.55% <86.66%> (+0.13%) ⬆️

... and 65 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@YigitElma
YigitElma marked this pull request as ready for review July 14, 2026 18:08
@dependabot @github

dependabot Bot commented on behalf of github Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting @dependabot recreate.

@YigitElma
YigitElma marked this pull request as draft August 21, 2026 17:46
@dependabot @github

dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Looks like jax is updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Aug 31, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/jax-93493677ae branch August 31, 2026 17:23
@YigitElma
YigitElma restored the dependabot/pip/jax-93493677ae branch August 31, 2026 20:35
@YigitElma

YigitElma commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

This PR has valuable fixes; no need to create a new PR.

@YigitElma YigitElma reopened this Aug 31, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Looks like jax is updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 1, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/jax-93493677ae branch September 1, 2026 17:23
@YigitElma
YigitElma restored the dependabot/pip/jax-93493677ae branch September 1, 2026 17:25
@YigitElma YigitElma reopened this Sep 1, 2026
@YigitElma YigitElma changed the title Update jax requirement from !=0.7.1,<0.10.0,>=0.6.2 to >=0.6.2,!=0.7.1,<0.11.0 in the jax group across 1 directory Bump the jax group across 1 directory with 2 updates Sep 1, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

Looks like jax is updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 2, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/jax-93493677ae branch September 2, 2026 17:23
@YigitElma
YigitElma restored the dependabot/pip/jax-93493677ae branch September 2, 2026 17:25
@YigitElma YigitElma reopened this Sep 2, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

Looks like jax is updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 3, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/jax-93493677ae branch September 3, 2026 17:23
@YigitElma
YigitElma restored the dependabot/pip/jax-93493677ae branch September 3, 2026 17:59
@YigitElma YigitElma reopened this Sep 3, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

Looks like jax is updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 4, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/jax-93493677ae branch September 4, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Issue related to libraries we depend on and how we interface with them run_benchmarks Run timing benchmarks on this PR against current master branch skip_changelog No need to update changelog on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants