547 Commits

Author SHA1 Message Date
Peter Hawkins
7d4551dd45 Add support for arm64 builds to build.py and build_wheel scripts. 2021-05-10 11:08:09 -04:00
Peter Hawkins
5b3bdd71b6 Allow manylinux_2_12_x86_64 in auditwheel test. This is an alias by PEP600. 2021-05-07 18:22:28 -04:00
Peter Hawkins
f9899df066 Readd CUDA 10.1 to the set of released CUDA wheels.
Users are still depending on CUDA 10.1.
2021-05-03 10:30:14 -04:00
Peter Hawkins
c983d3c660 Bundle libdevice.10.bc with jaxlib wheels.
libdevice.10.bc is a redistributable part of the CUDA SDK.

This avoids problems trying to locate a copy of libdevice inside the user's CUDA installation.
2021-04-29 10:26:03 -04:00
Peter Hawkins
a0c96b5ca5 Fix cusparse kernel build.
The build_wheel.py script was copying the wrong module.

In addition the CUDA stubs from the TF repo were missing a number of cusparse symbols. The updated TF includes the correct stubs.
2021-04-27 20:28:30 -04:00
Peter Hawkins
79a7f7bca8 Don't build CUDA 11.2 wheels.
Update XLA.

CUDA 11.1 wheels are compatible with CUDA versions 11.1+, since NVidia now promises enhanced version compatibility between CUDA minor releases starting with CUDA 11.1
2021-04-26 09:43:29 -04:00
Jake VanderPlas
0d4bcde7ca Add experimental/sparse_ops & cusparse wrappers in jaxlib
PiperOrigin-RevId: 368663407
2021-04-15 10:11:10 -07:00
Skye Wanderman-Milne
63dd2a6f20 Remove -it flag from docker run command in jaxlib build script.
It's unnecessary because the image isn't used interactively in the
script, and it prevents the script from being used when no TTY is
available (e.g. when running from a different script).
2021-04-14 09:44:42 -07:00
Sergei Lebedev
0ffd554a2f Fixed xla_extension-stubs packaging
setuptools does not consider a directory with an __init__.pyi a package.
This made it silently skip xla_extension-stubs when building a wheel.

See a4dbe3457d/setuptools/_distutils/command/build_py.py (L183)
2021-04-12 14:38:19 +01:00
Skye Wanderman-Milne
ac0682dde9 Factor out wheel-building functions in build_jaxlib_wheels.sh.
This will make it easier to build a single wheel, e.g. for GPU CI testing.

TESTING=I manually ran both build_jaxlib_wheels.sh and the individual
helper functions. I didn't do a full release build, but I verified
that a complete nocuda wheel can be successfully built.
2021-04-09 01:30:36 +00:00
jax authors
f51fa64ba5 Merge pull request #6337 from ahoenselaar:changelist/366161141
PiperOrigin-RevId: 367130827
2021-04-06 18:57:54 -07:00
Sergei Lebedev
225ffc30d8 Re-exported tensorflow...xla_extension type stubs in jaxlib
The type stubs allow using precise types for XLA primitives instead
of aliasing them to Any.

This commit does not change any type annotations within JAX. That will
be done in a followup. I have manually verified that type stubs are
discoverable by mypy once the new jaxlib is installed by type "checking"

    from jaxlib import xla_extension as xe
    d: xe._Dtype
2021-04-06 14:51:45 +01:00
Andreas Hoenselaar
a19098d462 Reimplement as JAX Primitive 2021-04-03 14:11:36 -07:00
Jake VanderPlas
f9a4162551 Specify minimum jaxlib version in a single location 2021-03-22 16:14:41 -07:00
Peter Hawkins
328930b917 Increase minimum jaxlib version to 0.1.62. 2021-03-16 15:11:36 -04:00
Skye Wanderman-Milne
55c75c8ca3 Update cuDNN versions to highest available.
The TF build depends on newer versions than we previously used.
2021-03-09 19:07:00 +00:00
Skye Wanderman-Milne
7b7a2a1ba8 Don't build with Cloud TPU support for GPU or Mac wheels.
This should make our builds simpler and less failure-prone.
2021-03-08 16:19:19 -08:00
Christian Sigg
c0e42e59eb
Switch to new flag to enable CUDA support in TF 2021-03-03 08:55:08 +01:00
Situ Yi
77905ef5fd
Update build.py with Cloud TPU support
Update build.py to have Cloud TPU support by default.
b/180656002
2021-02-19 12:57:57 -08:00
jax authors
15359e018d Merge pull request #5738 from hawkinsp:avx
PiperOrigin-RevId: 357785312
2021-02-16 12:53:41 -08:00
Skye Wanderman-Milne
3caf52d54a Fix build.py version comparison 2021-02-16 11:32:50 -08:00
Peter Hawkins
a27545497b Enable AVX by default in release builds.
TensorFlow also enables AVX by default, so this seems like a reasonable baseline CPU feature to expect.
2021-02-16 14:12:01 -05:00
jax authors
5fd3deb0be Merge pull request #5580 from daskol:search-bazel-in-path
PiperOrigin-RevId: 357755577
2021-02-16 10:49:33 -08:00
Skye Wanderman-Milne
dd513c1585
Small simplification 2021-02-16 08:39:32 -08:00
Daniel Bershatsky
96193cef12 Simplify bazel version check 2021-02-13 16:32:21 +03:00
Skye Wanderman-Milne
7a67b974ac jaxlib version bump etc. 2021-02-12 09:42:04 -08:00
Skye Wanderman-Milne
74db363830 Bump required bazel version to 3.7.2
Untested, but I'm about to build a new jaxlib and will make any fixes then.
2021-02-11 09:07:04 -08:00
Jake VanderPlas
e159d67e7e Move flake8 & mypy checks to pre-commit 2021-02-10 13:44:40 -08:00
Peter Hawkins
ba59b7eb0a Add CUDA 11.2 to wheel builds.
Remove NCCL from CUDA installation scripts. This is partially because there are no Ubuntu 16.04 CUDA 11.2 NCCL packages, but also because we don't need NCCL packages in the first place since we are building from source.
2021-02-08 09:54:33 -05:00
Peter Hawkins
13f3819054 Update README.md for jaxlib 0.1.60.
Bump jaxlib version to 0.1.61 and update changelog.

Change jaxlib numpy version limit to >=1.16 for next release. Releases older than 1.16 are deprecated per NEP 00029. Reenable NumPy 1.20.

Bump minimum jaxlib version to 0.1.60.
2021-02-03 20:44:01 -05:00
Peter Hawkins
08f4c6fb4e Remove libcudnn8 in install_cuda.sh as well as libcudnn7.
This prevents apt from attempting to install libcudnn8 where it is not needed.
2021-02-03 12:31:46 -05:00
Daniel Bershatsky
c71a4f5871 Try to download bazel as the last resort
Resolution order of paths to bazel binary is as follows.

1. Use --bazel_path command line option.
2. Search bazel binary in PATH environment variable.
3. Download required bazel release.
2021-02-01 15:15:38 +03:00
George Necula
a145e3d414 Pin numpy to max version 1.19, to avoid errors with 1.20
Will fix the numpy errors separately.
2021-01-31 15:18:54 +02:00
Skye Wanderman-Milne
7c2454e969 Update jaxlib version, minimum jaxlib version, readme, and changelog.
Bumping the min jaxlib version to support https://github.com/google/jax/pull/5213.
2021-01-15 12:56:08 -08:00
Skye Wanderman-Milne
599d65c5c6 Use py3.6-friendly subprocess.run invocation in build_wheel.py 2021-01-13 11:50:46 -08:00
jax authors
a8518769a2 Merge pull request #5115 from inailuig:rocm-gpukernels
PiperOrigin-RevId: 348077827
2020-12-17 14:01:04 -08:00
Clemens Giuliani
4981c53ac1 Add BLAS and LAPACK gpu kernels for ROCm 2020-12-16 16:00:17 +01:00
Peter Hawkins
21914db261 Export LICENSE.txt file in jaxlib wheels. 2020-12-11 10:20:03 -05:00
Peter Hawkins
c23edb805e Include a LICENSE.txt in jaxlib wheels.
PiperOrigin-RevId: 346988918
2020-12-11 06:45:15 -08:00
Peter Hawkins
1312d793ed Update mypy version to 0.790.
This appears to be necessary for Python 3.9.
2020-12-07 09:42:19 -05:00
Clemens Giuliani
330e69dd30 Add support for ROCm 2020-12-06 22:55:53 +01:00
Peter Hawkins
4a774978a2 Add test for chkstk_darwin symbol to jaxlib Mac builds.
We don't know why some builds produce this and others do not, but we can at least test for it to prevent bad releases.
2020-12-03 14:05:20 -05:00
Peter Hawkins
fca46ade35 Remove duplicate code to copy cusolver_kernels in wheel build.
PiperOrigin-RevId: 344840695
2020-11-30 10:32:13 -08:00
Cloud Han
ea340eed93 use strict action env on windows to avoid constant full rebuilding 2020-11-24 23:44:26 +08:00
Cloud Han
2146cea157 use shutil.copyfile to avoid readonly pyd file 2020-11-24 00:05:42 +08:00
Peter Hawkins
c06ead6b04 Change jaxlib build rules to build a wheel, rather than writing output to the source directory. 2020-11-20 11:47:00 -05:00
Peter Hawkins
1fcbd2f083 Add -Wno-stringop-truncation to build flags on Linux.
Works around https://github.com/tensorflow/tensorflow/issues/39467 for gcc 10+ builds.
2020-11-19 22:50:08 -05:00
Peter Hawkins
4bb5dca779 Fix build.py to work on Linux once again.
* strip DOS end-of-line characters from build.py for consistency with the rest of the source tree.
* use shutil.copy() instead of shutil.copyfile(). On Unix systems we must preserve execute permissions.
* add code to explicitly delete and recreate the target directory.
* Move build/jaxlib/__init_py to jaxlib/__init__.py and have the script move it into position, so the output directory for the jaxlib is an empty directory that the script creates.
2020-11-19 13:14:34 -05:00
Cloud Han
a6acce58e0 Build on Windows
1. Build on Windows

2. Fix OverflowError

    When calling `key = random.PRNGKey(0)` OverflowError: Python int too
    large to convert to C long for casting value 4294967295 (0xFFFFFFFF)
    from python int to int32.

3. fix file path in regex of errors_test

4. handle ValueError of os.path.commonpath
2020-11-19 23:33:06 +08:00
Peter Hawkins
b222e5e05f Update bazel version to 3.1.0. 2020-11-17 15:50:30 -05:00