547 Commits

Author SHA1 Message Date
Peter Hawkins
c601950b1b
Build Mac wheels for Python 3.8 with scipy 1.3.2. (#1739)
scipy 1.3.1 never had a Python 3.8 wheel.
2019-11-21 13:52:08 -05:00
Peter Hawkins
9b853a4255
Update XLA. (#1702)
Add support for building a CPU-only jaxlib with a CUDA-enabled toolchain.
2019-11-16 11:01:36 -05:00
Skye Wanderman-Milne
44ccca05df Revert "Update bazel min version to 0.26.0."
It turns out we can't build TF with this bazel version yet.

This reverts commit 807a1958bb2a276f012901ba6cd9226371099005.
2019-11-13 10:05:58 -08:00
Skye Wanderman-Milne
807a1958bb Update bazel min version to 0.26.0.
I think this was the first release including the --repo_env arg:
d7702b16eb
2019-11-13 09:59:38 -08:00
android
ddbdcfb9c9 Add TPU Driver to jaxlib (#1673) 2019-11-12 18:11:39 -08:00
Peter Hawkins
3e9ce2f69f
Use --repo_env instead of --action_env to configure Python and CUDA. (#1619)
--action_env variables are passed to every build action. This means that if the variable changes, the entire build cache is invalidated. By contrast, --repo_env variables are only passed to repository rules and don't affect every action. In principle this means that we should be able to rebuild JAX for different Python versions without rebuilding 99% of the C++ code.

Update bazel release for build script to 0.29.1 (same as TensorFlow.)
2019-11-01 10:41:51 -04:00
Peter Hawkins
b3e4a1a850
Update jaxlib build scripts to build Python 3.8.0 wheels. (#1612) 2019-10-31 11:46:37 -04:00
Peter Hawkins
affa2dcca4
Increment jax and jaxlib versions. (#1603)
* Update XLA version to 7acd3bb9d7
* Remove XRT reference from jaxlib build.
2019-10-30 15:50:00 -04:00
Peter Hawkins
1428c11a2c Update Jaxlib version to 0.1.29.
Bump XLA version. Enable C++14 mode since it is required by the new XLA version.
2019-09-28 15:11:09 -04:00
Skye Wanderman-Milne
2c6f74dfbc Add CUDA 10.1 wheels. 2019-09-05 14:45:32 -07:00
Peter Hawkins
61713fe52e Update Docker build to produce manylinux2010 compliant wheels for non-cuda builds.
Previously we lied claimed our wheels were manylinux1 compliant but they weren't.

Uses a cross-compilation toolchain from the TF folks that builds manylinux2010 compliant wheels from a Ubuntu 16.04 VM.

The CUDA wheels still aren't manylinux2010 compliant because they depend on CUDA libraries from the system.
2019-08-13 16:25:32 -04:00
Peter Hawkins
38b805720b Update Docker scripts to use a tmpfs for builds. Upgrade bazel. 2019-08-08 16:42:15 -04:00
Peter Hawkins
fef315b6e6 Add ability to pass extra bazel options to build script.
Remove cublas/cusolver dependencies from Jaxlib python code.
2019-08-08 16:14:45 -04:00
Peter Hawkins
5ac356d680 Add support for batched triangular solve and LU decomposition on GPU using cuBlas. 2019-08-08 13:34:53 -04:00
Peter Hawkins
72047c6eca Update XLA. 2019-08-07 12:55:09 -04:00
Peter Hawkins
8e66d29c45 Suppress flake8 warning from __version__ logic. 2019-08-04 12:12:53 -04:00
Peter Hawkins
ed3e2308c1 Add support for linear algebra ops on GPU using Cusolver:
* LU decomposition
* Symmetric (Hermitian) eigendecomposition
* Singular value decomposition.

Make LU decomposition tests less sensitive to the exact decomposition; check that we have a decomposition, not precisely the same one scipy returns.
2019-08-02 11:16:15 -04:00
Peter Hawkins
40c517e9ef Add --spawn_strategy from TensorFlow configuration. 2019-08-01 21:43:03 -04:00
Peter Hawkins
d0644d6a3a Remove old xla_data_pb2 compatibility shim. 2019-07-29 15:21:47 -04:00
Peter Hawkins
510a9167c5 Add C++ implementation of pytree logic.
Move jaxlib version test into jax/lib/__init__.py. Make jax/lib mirror the structure of jaxlib; e.g., xla_client is now available as jax.lib.xla_client.
2019-07-29 15:06:05 -04:00
Matthew Johnson
a12ca881a3 add future to macos wheel build script 2019-06-04 13:17:41 -07:00
Skye Wanderman-Milne
3819eac2e2 Update Dockerfile to pip install future for py2 build.
Part of the TF build requires the builtins module, which is py3.
2019-06-04 13:07:03 -07:00
Peter Hawkins
fafe69bd8f Relax Bazel maximum version check.
Remove debug print from lax_numpy_test.py.
2019-05-29 19:38:55 -04:00
Peter Hawkins
8cbc475a8b Add "bazel shutdown" to the build script.
Fixes #739.
2019-05-20 20:53:44 -04:00
Matthew Johnson
c779e495c7 fix typo in build_jaxlib_wheels_macos.sh 2019-05-15 21:30:39 -07:00
Peter Hawkins
5599f473f0 Revert to requiring Bazel 0.24 for JAX builds.
It turns out TF does not fully support 0.25 yet.

Add a check for a maximum bazel version to the build script.

Fixes #702.
2019-05-12 09:25:10 -04:00
Peter Hawkins
7f9e1809bb Fix build with Bazel 0.25.
Update minimum Bazel version to 0.25.0.
2019-05-10 11:53:15 -04:00
Peter Hawkins
21b018b4d4 Remove explicit cudnn_path from docker script.
Autodetection works fine for a docker build.
2019-04-25 21:17:57 -07:00
Peter Hawkins
f60d927df8 Update XLA version to include CUDA version check fix and newer XLA.
Make specification of CUDA environment variables optional.

Fixes #627.
Fixes #276, although the fix requires a new Jaxlib release.
2019-04-25 16:19:53 -07:00
Peter Hawkins
5eff830f0e Move jaxlib version.py into jaxlib, and install it in build/jaxlib as build action.
Update jaxlib version check to look in jaxlib.version.
2019-04-01 08:21:22 -07:00
Peter Hawkins
e8638f73cc Update XLA.
Switches XLA Python bindings to use pybind11.
Update XRT support to point to newer XRT client.
Update minimum bazel version to 0.24.0.

Fix missing backend argument to XLA Compile() calls.
2019-03-31 10:56:47 -07:00
Peter Hawkins
1d4de612fe Fix bazel version to 0.24.0 in Dockerfile to make sure we get a specific, working bazel version during builds. 2019-03-27 09:40:53 -04:00
Peter Hawkins
f8eda9bb64 Set default Apple platform to fix TensorFlow build breakage when built for Jaxlib. 2019-03-26 22:26:12 -04:00
Peter Hawkins
f3f4f3b1d0 Increment jaxlib version in preparation for a new release. 2019-03-26 15:42:02 -04:00
Matthew Johnson
ab0c0585da update build file to work with cuda nccl 2019-03-08 08:57:55 -08:00
Peter Hawkins
17fbdcaa84 Update default bazel release in build script to 0.22.0.
Update imported rules to a version that supports newer Bazel versions.
2019-03-02 15:10:42 -05:00
Matthew Johnson
0927b66774 update XLA and jaxlib 2019-02-28 20:25:09 -08:00
Peter Hawkins
f939ac078d Update XLA.
Updates XLA to 00afc7bb81.

The new XLA release removes the use of protocol buffers from the XLA client. Fixes #349.
Add backward compatibility shims to jaxlib to allow older jax releases to still work on an up to date jaxlib.

The new XLA release also incorporates a fix that avoids a host-device copy for every iteration of a `lax.fori_loop()` on GPU. Fixes #402.

Add a new jaxlib.__version__ field, change jax/jaxlib compatibility logic to check for it.
2019-02-26 06:07:44 -08:00
Matthew Johnson
4ba7d517df bump jaxlib version number for building new wheels 2019-02-20 17:03:40 -08:00
Peter Hawkins
7187c36be0 Add Python 3.5.6 to the Dockerfile (#386). 2019-02-17 13:31:12 -05:00
Peter Hawkins
d669f46bff Bump jaxlib version to 0.1.8. 2019-02-17 13:23:09 -05:00
Peter Hawkins
db7a24c0a5 Build wheels for Python 3.5.6 (issue #386). 2019-02-17 13:16:16 -05:00
Peter Hawkins
95bed103ef Fix minor bug in wheel building script.
Preinstall bazel in Docker image.
2019-02-08 08:42:37 -05:00
Peter Hawkins
a41487f611 Bump Jaxlib version to 0.1.7. 2019-02-08 08:31:56 -05:00
Peter Hawkins
82ce80f1e1
Bump Jaxlib version. 2019-01-18 20:48:40 -05:00
Peter Hawkins
aaff39a7ee Change Linux docker wheel build to build separate wheels for each minor Python version.
* Use pyenv to build specific Python releases against which we build wheels. Otherwise we are limited to only those Python releases present in the OS repository, which only correspond to certain major versions of Python.
* Build with docker instead of nvidia-docker. We need a CUDA image to build JAX, but we don't require a GPU or nvidia-docker unless we want to actually run things.
* Various other cleanups.
2019-01-18 07:38:43 -08:00
Peter Hawkins
b2fe46f347 Rename MacOS build script to be more consistent with Linux build script.
Pin particular versions of Numpy and Scipy in the build script to fix Numpy extension version compatibility issue. If jaxlib is built against numpy 1.16 but used against an older version, we see an error "No module named 'numpy.core._multiarray_umath'". The fix is to build against numpy 1.15.
2019-01-18 07:38:43 -08:00
Peter Hawkins
d707426caa
Bump jaxlib version to 0.1.5 in preparation for building new wheels. 2019-01-16 23:05:16 -05:00
Peter Hawkins
59734c0bd9
Merge pull request #251 from hawkinsp/build
Add script to build Jaxlib wheels for multiple Python versions on Mac OS X.
2019-01-16 17:28:12 -05:00
Peter Hawkins
ce61eb632c Delete the virtualenv if it already exists. 2019-01-16 17:16:06 -05:00