Static arguments to jax.pmap must now be hashable.
Unhashable static arguments have long been disallowed on jax.jit, but they
were still permitted on jax.pmap; jax.pmap compared unhashable static
arguments using object identity.
This behavior is a footgun, since comparing arguments using
object identity leads to recompilation each time the object identity
changes. Instead, we now ban unhashable arguments: if a user of jax.pmap
wants to compare static arguments by object identity, they can define
__hash__ and __eq__ methods on their objects that do that, or wrap their
objects in an object that has those operations with object identity
semantics. Another option is to use functools.partial to encapsulate the
unhashable static arguments into the function object.
jax.util.partial was an accidental export that has now been removed. Use
functools.partial from the Python standard library instead.
Deprecations
The functions jax.ops.index_update, jax.ops.index_add etc. are
deprecated and will be removed in a future JAX release. Please use
the .at property on JAX arrays
instead, e.g., x.at[idx].set(y). For now, these functions produce a
DeprecationWarning.
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps jaxlib from 0.1.61 to 0.1.73.
Changelog
Sourced from jaxlib's changelog.
... (truncated)
Commits
fbdeff0
Update the workspace file48bbdbc
Change jax.core.DropVar to be a non-singleton.6c833a1
Merge pull request #8240 from jakevdp:dtype-annotations95f4707
Remove xla_bridge.{constant, register_constant_handler, _python_scalar_consta...93fe3ab
Replace_
with-
because wheel.py normalizes it to.
0f0bfca
Skiptest_bcoo_spdot_general
because its failing OSS tests8a261f0
Merge pull request #8261 from hawkinsp:real9eb0680
Merge pull request #8260 from hawkinsp:unpack8c3b212
Improve real type conversion in a couple more places.ef9ce1c
Merge pull request #8259 from hawkinsp:xlabuilderDependabot 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)