diff --git a/BUILD.bazel b/BUILD.bazel index 55adc25a0bc2..96d476d599ca 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -87,6 +87,31 @@ config_setting( flag_values = {":jemalloc_flag": "true"}, ) +config_setting( + name = "linux_x86_64", + constraint_values = [ + "@platforms//os:linux", + "@platforms//cpu:x86_64", + ], +) + +config_setting( + name = "darwin_aarch64", + constraint_values = [ + "@platforms//os:osx", + "@platforms//cpu:aarch64", + ], +) + +alias( + name = "uv_file", + actual = select({ + "//:linux_x86_64": "@uv_x86_64-linux//:file", + "//:darwin_aarch64": "@uv_aarch64-darwin//:file", + "//conditions:default": "@uv_x86_64-linux//:file", + }), +) + # bazel run :refresh_compile_commands for compile_commands generation for clangd # https://github.com/hedronvision/bazel-compile-commands-extractor?tab=readme-ov-file#vscode - directions for clangd config refresh_compile_commands( diff --git a/WORKSPACE b/WORKSPACE index e56c6a109b05..086d69f189ca 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -117,7 +117,7 @@ filegroup( ) http_archive( - name = "uv_x86_64", + name = "uv_x86_64-linux", build_file_content = """ filegroup( name = "file", @@ -129,6 +129,19 @@ filegroup( urls = ["https://github.com/astral-sh/uv/releases/download/0.8.10/uv-x86_64-unknown-linux-gnu.tar.gz"], ) +http_archive( + name = "uv_aarch64-darwin", + build_file_content = """ +filegroup( + name = "file", + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) +""", + sha256 = "5200278ae00b5c0822a7db7a99376b2167e8e9391b29c3de22f9e4fdebc9c0e8", + urls = ["https://github.com/astral-sh/uv/releases/download/0.8.10/uv-aarch64-apple-darwin.tar.gz"], +) + http_archive( name = "com_github_storypku_bazel_iwyu", sha256 = "aa78c331a2cb139f73f7d74eeb4d5ab29794af82023ef5d6d5194f76b7d37449", diff --git a/ci/compile_llm_requirements.sh b/ci/compile_llm_requirements.sh index f3ae705fe228..a9b5f9d06660 100755 --- a/ci/compile_llm_requirements.sh +++ b/ci/compile_llm_requirements.sh @@ -13,8 +13,8 @@ mkdir -p /tmp/ray-deps # Remove the GPU constraints cp python/requirements_compiled.txt /tmp/ray-deps/requirements_compiled.txt -sed -i '/^--extra-index-url /d' /tmp/ray-deps/requirements_compiled.txt -sed -i '/^--find-links /d' /tmp/ray-deps/requirements_compiled.txt +sed -e '/^--extra-index-url /d' -e '/^--find-links /d' /tmp/ray-deps/requirements_compiled.txt > /tmp/ray-deps/requirements_compiled.txt.tmp +mv /tmp/ray-deps/requirements_compiled.txt.tmp /tmp/ray-deps/requirements_compiled.txt bazel run //ci/raydepsets:raydepsets -- build ci/raydepsets/rayllm.depsets.yaml diff --git a/ci/raydepsets/BUILD.bazel b/ci/raydepsets/BUILD.bazel index eb4d56c06a20..b253519ec9dd 100644 --- a/ci/raydepsets/BUILD.bazel +++ b/ci/raydepsets/BUILD.bazel @@ -14,7 +14,7 @@ py_library( srcs = [ "cli.py", ], - data = ["@uv_x86_64//:file"], + data = ["//:uv_file"], deps = [ ":workspace", ci_require("bazel-runfiles"), diff --git a/ci/raydepsets/cli.py b/ci/raydepsets/cli.py index 867e33c21060..4d1037387a07 100644 --- a/ci/raydepsets/cli.py +++ b/ci/raydepsets/cli.py @@ -274,8 +274,11 @@ def _override_uv_flags(flags: List[str], args: List[str]) -> List[str]: def _uv_binary(): r = runfiles.Create() system = platform.system() - if system != "Linux" or platform.processor() != "x86_64": - raise RuntimeError( - f"Unsupported platform/processor: {system}/{platform.processor()}" - ) - return r.Rlocation("uv_x86_64/uv-x86_64-unknown-linux-gnu/uv") + processor = platform.processor() + + if system == "Linux" and processor == "x86_64": + return r.Rlocation("uv_x86_64-linux/uv-x86_64-unknown-linux-gnu/uv") + elif system == "Darwin" and (processor == "arm" or processor == "aarch64"): + return r.Rlocation("uv_aarch64-darwin/uv-aarch64-apple-darwin/uv") + else: + raise RuntimeError(f"Unsupported platform/processor: {system}/{processor}") diff --git a/ci/raydepsets/rayllm.depsets.yaml b/ci/raydepsets/rayllm.depsets.yaml index e2a7a030b5e1..e50b8fc4837d 100644 --- a/ci/raydepsets/rayllm.depsets.yaml +++ b/ci/raydepsets/rayllm.depsets.yaml @@ -15,6 +15,7 @@ build_arg_sets: - --extra-index-url https://download.pytorch.org/whl/${CUDA_CODE} append_flags: - --python-version=3.11 + - --python-platform=linux build_arg_sets: - cpu - cu121 diff --git a/python/requirements_compiled_ray_py311_cpu.txt b/python/requirements_compiled_ray_py311_cpu.txt index d8911ad845de..ad9a94b18e3b 100644 --- a/python/requirements_compiled_ray_py311_cpu.txt +++ b/python/requirements_compiled_ray_py311_cpu.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 -c python/requirements_compiled_ray_test_py311_cpu.txt python/requirements.txt -o python/requirements_compiled_ray_py311_cpu.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 --python-platform=linux -c python/requirements_compiled_ray_test_py311_cpu.txt python/requirements.txt -o python/requirements_compiled_ray_py311_cpu.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cpu diff --git a/python/requirements_compiled_ray_py311_cu121.txt b/python/requirements_compiled_ray_py311_cu121.txt index 7bf7aa57a1a7..40b0814f0d07 100644 --- a/python/requirements_compiled_ray_py311_cu121.txt +++ b/python/requirements_compiled_ray_py311_cu121.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 -c python/requirements_compiled_ray_test_py311_cu121.txt python/requirements.txt -o python/requirements_compiled_ray_py311_cu121.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 --python-platform=linux -c python/requirements_compiled_ray_test_py311_cu121.txt python/requirements.txt -o python/requirements_compiled_ray_py311_cu121.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu121 diff --git a/python/requirements_compiled_ray_py311_cu128.txt b/python/requirements_compiled_ray_py311_cu128.txt index c126614250e6..e03e8073bde2 100644 --- a/python/requirements_compiled_ray_py311_cu128.txt +++ b/python/requirements_compiled_ray_py311_cu128.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 -c python/requirements_compiled_ray_test_py311_cu128.txt python/requirements.txt -o python/requirements_compiled_ray_py311_cu128.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 --python-platform=linux -c python/requirements_compiled_ray_test_py311_cu128.txt python/requirements.txt -o python/requirements_compiled_ray_py311_cu128.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu128 diff --git a/python/requirements_compiled_ray_test_py311_cpu.txt b/python/requirements_compiled_ray_test_py311_cpu.txt index d7a2552b6dc4..6d33de854539 100644 --- a/python/requirements_compiled_ray_test_py311_cpu.txt +++ b/python/requirements_compiled_ray_test_py311_cpu.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 -c /tmp/ray-deps/requirements_compiled.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt -o python/requirements_compiled_ray_test_py311_cpu.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 --python-platform=linux -c /tmp/ray-deps/requirements_compiled.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt -o python/requirements_compiled_ray_test_py311_cpu.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cpu diff --git a/python/requirements_compiled_ray_test_py311_cu121.txt b/python/requirements_compiled_ray_test_py311_cu121.txt index ec4ae33bcdb5..8c0d7d9b187a 100644 --- a/python/requirements_compiled_ray_test_py311_cu121.txt +++ b/python/requirements_compiled_ray_test_py311_cu121.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 -c /tmp/ray-deps/requirements_compiled.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt -o python/requirements_compiled_ray_test_py311_cu121.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 --python-platform=linux -c /tmp/ray-deps/requirements_compiled.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt -o python/requirements_compiled_ray_test_py311_cu121.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu121 diff --git a/python/requirements_compiled_ray_test_py311_cu128.txt b/python/requirements_compiled_ray_test_py311_cu128.txt index f27f420acd03..b61e16287344 100644 --- a/python/requirements_compiled_ray_test_py311_cu128.txt +++ b/python/requirements_compiled_ray_test_py311_cu128.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 -c /tmp/ray-deps/requirements_compiled.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt -o python/requirements_compiled_ray_test_py311_cu128.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 --python-platform=linux -c /tmp/ray-deps/requirements_compiled.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt -o python/requirements_compiled_ray_test_py311_cu128.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu128 diff --git a/python/requirements_compiled_rayllm_py311_cpu.txt b/python/requirements_compiled_rayllm_py311_cpu.txt index 21c5a9872eff..3c7bccfc3a3e 100644 --- a/python/requirements_compiled_rayllm_py311_cpu.txt +++ b/python/requirements_compiled_rayllm_py311_cpu.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 -c python/requirements_compiled_rayllm_test_py311_cpu.txt python/requirements.txt python/requirements/llm/llm-requirements.txt -o python/requirements_compiled_rayllm_py311_cpu.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 --python-platform=linux -c python/requirements_compiled_rayllm_test_py311_cpu.txt python/requirements.txt python/requirements/llm/llm-requirements.txt -o python/requirements_compiled_rayllm_py311_cpu.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cpu diff --git a/python/requirements_compiled_rayllm_py311_cu121.txt b/python/requirements_compiled_rayllm_py311_cu121.txt index 530878b8b211..5a778ecca825 100644 --- a/python/requirements_compiled_rayllm_py311_cu121.txt +++ b/python/requirements_compiled_rayllm_py311_cu121.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 -c python/requirements_compiled_rayllm_test_py311_cu121.txt python/requirements.txt python/requirements/llm/llm-requirements.txt -o python/requirements_compiled_rayllm_py311_cu121.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 --python-platform=linux -c python/requirements_compiled_rayllm_test_py311_cu121.txt python/requirements.txt python/requirements/llm/llm-requirements.txt -o python/requirements_compiled_rayllm_py311_cu121.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu121 diff --git a/python/requirements_compiled_rayllm_py311_cu128.txt b/python/requirements_compiled_rayllm_py311_cu128.txt index e7ec34152746..a3b95b0166a9 100644 --- a/python/requirements_compiled_rayllm_py311_cu128.txt +++ b/python/requirements_compiled_rayllm_py311_cu128.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 -c python/requirements_compiled_rayllm_test_py311_cu128.txt python/requirements.txt python/requirements/llm/llm-requirements.txt -o python/requirements_compiled_rayllm_py311_cu128.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 --python-platform=linux -c python/requirements_compiled_rayllm_test_py311_cu128.txt python/requirements.txt python/requirements/llm/llm-requirements.txt -o python/requirements_compiled_rayllm_py311_cu128.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu128 diff --git a/python/requirements_compiled_rayllm_test_py311_cpu.txt b/python/requirements_compiled_rayllm_test_py311_cpu.txt index 0fd5d38ace03..b69b89a5ea19 100644 --- a/python/requirements_compiled_rayllm_test_py311_cpu.txt +++ b/python/requirements_compiled_rayllm_test_py311_cpu.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 -c python/requirements_compiled_ray_test_py311_cpu.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt python/requirements/llm/llm-requirements.txt python/requirements/llm/llm-test-requirements.txt -o python/requirements_compiled_rayllm_test_py311_cpu.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cpu --python-version=3.11 --python-platform=linux -c python/requirements_compiled_ray_test_py311_cpu.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt python/requirements/llm/llm-requirements.txt python/requirements/llm/llm-test-requirements.txt -o python/requirements_compiled_rayllm_test_py311_cpu.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cpu diff --git a/python/requirements_compiled_rayllm_test_py311_cu121.txt b/python/requirements_compiled_rayllm_test_py311_cu121.txt index c89112408569..ebf1056ff7c6 100644 --- a/python/requirements_compiled_rayllm_test_py311_cu121.txt +++ b/python/requirements_compiled_rayllm_test_py311_cu121.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 -c python/requirements_compiled_ray_test_py311_cu121.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt python/requirements/llm/llm-requirements.txt python/requirements/llm/llm-test-requirements.txt -o python/requirements_compiled_rayllm_test_py311_cu121.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu121 --python-version=3.11 --python-platform=linux -c python/requirements_compiled_ray_test_py311_cu121.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt python/requirements/llm/llm-requirements.txt python/requirements/llm/llm-test-requirements.txt -o python/requirements_compiled_rayllm_test_py311_cu121.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu121 diff --git a/python/requirements_compiled_rayllm_test_py311_cu128.txt b/python/requirements_compiled_rayllm_test_py311_cu128.txt index 9bcf8ad47312..913cbd464409 100644 --- a/python/requirements_compiled_rayllm_test_py311_cu128.txt +++ b/python/requirements_compiled_rayllm_test_py311_cu128.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 -c python/requirements_compiled_ray_test_py311_cu128.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt python/requirements/llm/llm-requirements.txt python/requirements/llm/llm-test-requirements.txt -o python/requirements_compiled_rayllm_test_py311_cu128.txt +# uv pip compile --generate-hashes --strip-extras --unsafe-package ray --unsafe-package setuptools --index-url https://pypi.org/simple --index-strategy unsafe-best-match --no-strip-markers --emit-index-url --emit-find-links --extra-index-url https://download.pytorch.org/whl/cu128 --python-version=3.11 --python-platform=linux -c python/requirements_compiled_ray_test_py311_cu128.txt python/requirements.txt python/requirements/cloud-requirements.txt python/requirements/base-test-requirements.txt python/requirements/llm/llm-requirements.txt python/requirements/llm/llm-test-requirements.txt -o python/requirements_compiled_rayllm_test_py311_cu128.txt --index-url https://pypi.org/simple --extra-index-url https://download.pytorch.org/whl/cu128