63 Commits

Author SHA1 Message Date
Michael Hudgins
d4d1518c3d Update references to the GitHub url in JAX codebase to reflect move from google/jax to jax-ml/jax
PiperOrigin-RevId: 676843138
2024-09-20 07:52:33 -07:00
Dan Foreman-Mackey
73c38cb700 Add a note to the developer docs making it clear that clang is the only
toolchain that is actively supported for source compilation.

As discussed in https://github.com/google/jax/issues/23687
2024-09-18 10:01:13 -04:00
Tom Augspurger
fcc8c3759d Fixed func ref in shared-computation 2024-09-14 15:22:12 -05:00
jax authors
7c8508e593 Add link to XLA documentation for building JAX with CUDA from sources.
PiperOrigin-RevId: 673510767
2024-09-11 13:20:46 -07:00
Vadym Matsishevskyi
60cc041133 Minor fixes and documentation update for custom hermetic Python interpreter support.
PiperOrigin-RevId: 663784042
2024-08-16 10:54:00 -07:00
jax authors
599c13aa09 Introduce hermetic CUDA in Google ML projects.
1) Hermetic CUDA rules allow building wheels with GPU support on a machine without GPUs, as well as running Bazel GPU tests on a machine with only GPUs and NVIDIA driver installed. When `--config=cuda` is provided in Bazel options, Bazel will download CUDA, CUDNN and NCCL redistributions in the cache, and use them during build and test phases.

    [Default location of CUNN redistributions](https://developer.download.nvidia.com/compute/cudnn/redist/)

    [Default location of CUDA redistributions](https://developer.download.nvidia.com/compute/cuda/redist/)

    [Default location of NCCL redistributions](https://pypi.org/project/nvidia-nccl-cu12/#history)

2) To include hermetic CUDA rules in your project, add the following in the WORKSPACE of the downstream project dependent on XLA.

   Note: use `@local_tsl` instead of `@tsl` in Tensorflow project.

   ```
   load(
      "@tsl//third_party/gpus/cuda/hermetic:cuda_json_init_repository.bzl",
      "cuda_json_init_repository",
   )

   cuda_json_init_repository()

   load(
      "@cuda_redist_json//:distributions.bzl",
      "CUDA_REDISTRIBUTIONS",
      "CUDNN_REDISTRIBUTIONS",
   )
   load(
      "@tsl//third_party/gpus/cuda/hermetic:cuda_redist_init_repositories.bzl",
      "cuda_redist_init_repositories",
      "cudnn_redist_init_repository",
   )

   cuda_redist_init_repositories(
      cuda_redistributions = CUDA_REDISTRIBUTIONS,
   )

   cudnn_redist_init_repository(
      cudnn_redistributions = CUDNN_REDISTRIBUTIONS,
   )

   load(
      "@tsl//third_party/gpus/cuda/hermetic:cuda_configure.bzl",
      "cuda_configure",
   )

   cuda_configure(name = "local_config_cuda")

   load(
      "@tsl//third_party/nccl/hermetic:nccl_redist_init_repository.bzl",
      "nccl_redist_init_repository",
   )

   nccl_redist_init_repository()

   load(
      "@tsl//third_party/nccl/hermetic:nccl_configure.bzl",
      "nccl_configure",
   )

   nccl_configure(name = "local_config_nccl")
   ```

PiperOrigin-RevId: 662981325
2024-08-14 10:58:43 -07:00
Peter Hawkins
d1c0d993fc Bump the minimum CUDNN version to v9.1.
This actually was already the minimum version since we build with that version, but we needed to tighten the constraints.

Also in passing, drop mentions of CUDA builds from the Windows build instructions. jaxlib hasn't built with CUDA enabled on Windows for a very long time, so it's probably best we just don't mention it.

PiperOrigin-RevId: 657225917
2024-07-29 09:28:47 -07:00
jax authors
5ddec63a47 Merge pull request #22441 from gnecula:test_clean_hypothesis
PiperOrigin-RevId: 652919414
2024-07-16 11:32:46 -07:00
George Necula
d3454f374e Add some hypothesis testing utilities and developer documentation.
Add a helper function for setting up hypothesis testing,
with support for selecting an interactive hypothesis profile
that speeds up interactive development.
2024-07-15 17:05:32 +02:00
Jake VanderPlas
f3b7aea283 DOC: improve mypy/pre-commit instructions 2024-07-10 09:06:03 -07:00
Vadym Matsishevskyi
fb3607c1d5 Use inclusion list configuration for local wheels.
Also some documentation improvements/clarifications.

This allows it to not remove unused local wheels from the dist directory to avoid conflicts.

PiperOrigin-RevId: 650697758
2024-07-09 11:25:31 -07:00
jax authors
fc1e1d4a65 Add freshness metablock to JAX OSS docs.
PiperOrigin-RevId: 645508135
2024-06-21 14:50:49 -07:00
Vadym Matsishevskyi
517e299a9d Use hermetic Python in JAX, see "Managing hermetic Python" in developer.md for details
PiperOrigin-RevId: 634146391
2024-05-15 18:20:56 -07:00
Jake VanderPlas
10ed827fe9 DOC: replace old tutorials with new content 2024-05-03 12:20:06 -07:00
rajasekharporeddy
d92e735001 Fix Typos in docs 2024-04-11 07:54:13 +05:30
Jieying Luo
cfb6250158 Add build instructions to build jaxlib with cuda plugin from source.
PiperOrigin-RevId: 601231525
2024-01-24 14:15:54 -08:00
Jake VanderPlas
10eae3f93a CI: update jupytext version 2024-01-09 14:34:21 -08:00
Marcin Mirończuk
b9f70211b2 Squashed commit - documentation matplotlib
Add information to documentation about that some test targets required matplotlib - squashed commit

Add information to documentation about that some test targets, like a `//tests:logpcg_tests` optionally use matplotlib, so the user may need to `pip install matplotlib` to run tests via bazel (https://github.com/google/jax/pull/18660)

Squashed commit - documentation matplotlib
2023-11-28 11:36:50 +01:00
Neil Girdhar
3c920c0120 Switch from flake8 to Ruff 2023-11-15 22:35:52 -05:00
Jieying Luo
0ce7c7b7bd Register plugin profiler for TPU and remove --config=tpu/--enable_tpu in jaxlib.
PiperOrigin-RevId: 580561059
2023-11-08 09:40:28 -08:00
Jake VanderPlas
389eb97a7c CI: update pre-commit hooks to latest version 2023-10-30 09:12:24 -07:00
Peter Hawkins
578478b24a Remove references to the ROCm TensorFlow repository in AMD build instructions. 2023-10-03 21:33:52 -04:00
Yulia Baturina
8cdc9513b1
Move the prerequisites to the beginning of the tests instructions.
The installation of the test dependencies is needed both for bazel and pytest executions.
2023-10-02 13:56:01 -06:00
Peter Hawkins
8cbd58a9f0 Improve installation instructions.
Simplify the common case installation instructions on the JAX readme.

Move less-commonly used or more complicated options to the installation page of the JAX docs.
2023-09-22 17:13:47 -04:00
Jake VanderPlas
7bb8312f82 CI: update jupytext to v0.14.7 2023-07-24 11:51:45 -07:00
Peter Hawkins
f540ae4338 Fix warning about direct invocation of setup.py during jaxlib build.
The jaxlib wheel build currently uses `python setup.py bdist_wheel` to construct the wheel. Change it to use `python -m build -w` instead.

To avoid Python getting confused between the directory named `build` in the bazel tree and the Python `build` module, move `build_wheel.py` into `jaxlib/tools`.

PiperOrigin-RevId: 548133811
2023-07-14 08:31:16 -07:00
Saurav Maheshkar
cfd8762d4a feat: move configurations to pyproject 2023-04-15 02:39:39 +01:00
Peter Hawkins
d9b0f3cd6f Recommend --local_test_jobs in bazel test command line on GPU. 2023-03-29 09:28:53 -04:00
Peter Hawkins
172a831219 Switch JAX to use the OpenXLA repository. 2023-03-13 18:38:26 +00:00
Jake VanderPlas
20b55a119e CI: update jupytext version 2023-01-23 14:42:03 -08:00
8bitmp3
7e5eba6173 Update headings in JAX Custom operations for GPUs and Building from source guides 2023-01-17 23:44:49 +00:00
jax authors
a7900166d1 Merge pull request #12962 from hawkinsp:rocm
PiperOrigin-RevId: 493308550
2022-12-06 08:09:45 -08:00
Peter Hawkins
e42e52d4aa Rename test flag --num_generated_cases to --jax_num_generated_cases.
parse_flags_with_absl() only parses flags that start with --jax_. Other flags are only parsed when absl.app's main function runs. But that's too late for test cases: test cases need to have the number of generated cases chosen at module initialization time. Hence the --num_generated_cases flag wasn't doing anything. Oops. By renaming it it works once again.

It might make sense to stop using flags for the number of generated cases and only use environment variables. We defer that to a future change.

Fix many test cases that were shown to be broken with a larger number of test cases enabled.

PiperOrigin-RevId: 487406670
2022-11-09 18:58:05 -08:00
Frederic Bastien
fdc4c1d4ca More documentation about GPU tests. 2022-11-02 06:43:56 -07:00
Peter Hawkins
dc7e676521 Add instructions for building with ROCM. 2022-10-24 21:19:28 -04:00
Peter Hawkins
a48f4e116e Change Bazel test rules to generate per-backend test suites. 2022-07-08 14:19:05 +00:00
Peter Hawkins
1c75eee1ff Document how to run tests using Bazel.
* Add a new --configure_only option to build.py to allow build.py to generate a .bazelrc without necessarily building jaxlib.
* Add a bazel flag that make the dependency of //jax on //jaxlib optional. If //jaxlib isn't built by bazel, then tests will implicitly use a preinstalled jaxlib.
2022-07-06 08:30:35 -04:00
Peter Whidden
cb137ee885
update bazel on windows docs url 2022-06-25 13:32:16 -04:00
Peter Hawkins
7dbe8c3229 Add instructions to override the TF (XLA) tree in the developer documentation. 2022-06-15 20:40:58 -04:00
Jake VanderPlas
29efc30c63 DOC: update myst-nb to v0.15.0 2022-05-09 14:32:48 -07:00
Jake VanderPlas
9679ca826a DOC: clarify jupytext instructions 2022-05-09 09:53:33 -07:00
Peter Hawkins
af733ee0c0 Remove mention of six package from jaxlib build instructions.
I verified that six is no longer needed.
2022-04-13 14:09:01 -04:00
Fabian Pedregosa
4fd466be1f
remove $ from command line commands
A few commands in this file were prefixed with $ which results in an invalid command when copied with the sphinx "copy" button.
2022-04-01 15:50:29 -04:00
Peter Hawkins
150235ca5b Add note about enabling developer mode on Windows.
Issue 4843.
2022-03-29 12:32:42 -04:00
Ayaka Mikazuki
ee2377b47d
[Doc] Add jaxlib build instructions for TPU
Currently the documentation only contains build instructions for CUDA support, but does not mention TPU. This pull request add build instructions for TPU alongside CUDA.
2022-03-04 20:22:59 +08:00
Jake VanderPlas
f1ccb35d8c DOC: add doctest info to developer docs 2022-03-03 13:11:00 -08:00
Peter Hawkins
a43c82a3b7 Add -j auto to the suggested doc build instructions.
Despite being marked as experimental, parallelism appears to work fine for JAX doc builds, and speeds up builds significantly.
2022-02-04 08:57:14 -05:00
Jake VanderPlas
6c38ec9a05 developer doc: more info on pre-commit 2022-01-25 10:36:03 -08:00
Juhyeong Kim
8b489134c8
Reflected the opinions from the reviewer. 2021-09-18 14:40:29 +09:00
Juhyeong Kim
d45cb85a2f
Update developer.md 2021-09-17 22:00:08 +09:00