Comments (3)
In general our build script produces the tags that our release builds should produce; it doesn't try to adapt the tags to the environment.
I'm a little reluctant to run auditwheel repair
because I don't want auditwheel changing the wheel.
One option would be for us to default to a relaxed tag like linux_x86_64
, and change our release builds to override the tag to a manylinux
tag.
from jax.
As to ongoing support: we're not sure yet. One likely possibility is at least 2_28, but we may go newer. (The thing pushing us to newer is that we would like to build with C++20).
from jax.
One option would be for us to default to a relaxed tag like linux_x86_64, and change our release builds to override the tag to a manylinux tag.
I think this might be easiest, because then it pushes the "generalization" step to the release process that comes after build.
I am also a bit worried about auditwheel repair
changing the wheel as well, since it tries to embed any third party SO files into the zip and changes the RPATHs to use them instead of any external ones. This can be worked around with its --exclude options, but it seems too easy to miss something. My current plan is to probably write something that uses auditwheel's functionality to modify the wheel but do it in a more controlled manner. Basically, just doing the lddtree scan for all versioned symbols, collecting the max versions of libs, and then outputting the manylinux_x_y
wheel, without any RPATH or SO file changes.
One likely possibility is at least 2_28, but we may go newer. (The thing pushing us to newer is that we would like to build with C++20).
I am positive this would make a lot of folks that use JAX on older systems very upset... all the users I am supporting right now seem to be on ubuntu 20 or EL8 derivatives which require glibc 2.28 or less. I haven't looked at the glibcpp versions on those distros but I am almost certain they are not C++20 level universally.
from jax.
Related Issues (20)
- Explicit managing the output buffer of `jax.jit` function HOT 1
- Performance Discrepancy in `jax.value_and_grad` for Different `argnums` HOT 6
- CuDNN Initialization Error with Pre-existing CUDA Environment Fails with HOT 5
- Pallas TPU reduce kernel generalization gives wrong numerical results? HOT 3
- Passing `DeviceLocalLayout` to `jax.jit` causes incorrect outputs on GPU
- Precision of jnp.linalg.solve HOT 3
- JAX segment_sum is two times slower for FP16 inputs than FP32 inputs HOT 10
- jax library error jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed HOT 3
- arctan2 and atan2 argument names are misleading HOT 3
- Jax Einsum Implementation Error HOT 1
- jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. HOT 2
- Improve support for using JAX's custom LAPACK calls externally HOT 6
- `erf_inv` not supported in Pallas GPU
- Unsupported conversion from f64 to f16 in pallas despite not using fp16 HOT 3
- Pallas kernel crash at `llo::CouldLtS32` when `interpret=False` on TPU HOT 3
- Pallas Unexpected Numeric Results With `tf32` on A100 GPU HOT 3
- [Pallas GPU] `jnp.abs()` gives the wrong result HOT 1
- Rotation.concatenate does not work for two single rotations HOT 1
- Setting `JAX_PLATFORMS=cpu` has no effect. HOT 6
- Guard against unintentional transfers to CPU HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jax.