Add Bazel build configurations for macOS x86_64 CPU runtime and ZLS third‑party integration.

This commit is contained in:
Tarry Singh 2024-07-25 15:58:14 +00:00
parent 3f36506f1c
commit ca4e061ad5
6 changed files with 120 additions and 78 deletions

View File

@ -90,7 +90,7 @@ common_apt_packages = use_extension("//runtimes/common:packages.bzl", "common_ap
use_repo(common_apt_packages, "libdrm-amdgpu1", "libdrm2", "libelf1", "libnuma1", "libtinfo6", "libzstd1", "zlib1g")
cpu = use_extension("//runtimes/cpu:cpu.bzl", "cpu_pjrt_plugin")
use_repo(cpu, "libpjrt_cpu_darwin_arm64", "libpjrt_cpu_linux_amd64")
use_repo(cpu, "libpjrt_cpu_darwin_arm64", "libpjrt_cpu_darwin_amd64", "libpjrt_cpu_linux_amd64")
cuda = use_extension("//runtimes/cuda:cuda.bzl", "cuda_packages")
use_repo(cuda, "libpjrt_cuda")
@ -108,7 +108,7 @@ neuron = use_extension("//runtimes/neuron:neuron.bzl", "neuron_packages")
use_repo(neuron, "aws-neuronx-collectives", "aws-neuronx-runtime-lib")
zls = use_extension("//third_party/zls:zls.bzl", "repo")
use_repo(zls, "zls_aarch64-macos", "zls_x86_64-linux")
use_repo(zls, "zls_aarch64-macos", "zls_x86_64-macos", "zls_x86_64-linux")
register_toolchains("//third_party/zls:all")
@ -138,6 +138,7 @@ rust.toolchain(
edition = "2021",
extra_target_triples = [
"aarch64-apple-darwin",
"x86_64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-unknown-linux-gnu",
],
@ -154,6 +155,7 @@ crate.from_cargo(
manifests = ["//zml/tokenizer/hftokenizers:Cargo.toml"],
supported_platform_triples = [
"aarch64-apple-darwin",
"x86_64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-unknown-linux-gnu",
],

File diff suppressed because one or more lines are too long

View File

@ -16,6 +16,15 @@ platform(
visibility = ["//visibility:public"],
)
platform(
name = "macos_amd64",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:macos",
],
visibility = ["//visibility:public"],
)
platform(
name = "macos_arm64",
constraint_values = [

View File

@ -1,5 +1,21 @@
load("@rules_zig//zig:defs.bzl", "zig_library")
config_setting(
name = "darwin_arm64",
constraint_values = [
"@platforms//os:macos",
"@platforms//cpu:aarch64",
],
)
config_setting(
name = "darwin_amd64",
constraint_values = [
"@platforms//os:macos",
"@platforms//cpu:x86_64",
],
)
cc_library(
name = "empty",
)
@ -8,7 +24,8 @@ cc_library(
name = "libpjrt_cpu",
defines = ["ZML_RUNTIME_CPU"],
deps = select({
"@platforms//os:macos": ["@libpjrt_cpu_darwin_arm64//:libpjrt_cpu"],
":darwin_arm64": ["@libpjrt_cpu_darwin_arm64//:libpjrt_cpu"],
":darwin_amd64": ["@libpjrt_cpu_darwin_amd64//:libpjrt_cpu"],
"@platforms//os:linux": ["@libpjrt_cpu_linux_amd64//:libpjrt_cpu"],
}),
)

View File

@ -29,6 +29,13 @@ def _cpu_pjrt_plugin_impl(mctx):
url = "https://github.com/zml/pjrt-artifacts/releases/download/v7.0.0/pjrt-cpu_linux-amd64.tar.gz",
)
http_archive(
name = "libpjrt_cpu_darwin_amd64",
build_file_content = _BUILD_FILE_DEFAULT_VISIBILITY + _BUILD_DARWIN,
sha256 = "35af82d9e5c70d16ac15f4c18024a2dd5ed2faefc89940eafe3d5350d2cbd9e7",
url = "https://github.com/zml/pjrt-artifacts/releases/download/v7.0.0/pjrt-cpu_darwin-amd64.tar.gz",
)
http_archive(
name = "libpjrt_cpu_darwin_arm64",
build_file_content = _BUILD_FILE_DEFAULT_VISIBILITY + _BUILD_DARWIN,

View File

@ -10,6 +10,13 @@ _ARCH = {
"@platforms//cpu:x86_64",
],
),
"x86_64-macos": struct(
sha256 = "4b63854d6b76810abd2563706e7d768efc7111e44dd8b371d49198e627697a13",
exec_compatible_with = [
"@platforms//os:macos",
"@platforms//cpu:x86_64",
],
),
"aarch64-macos": struct(
sha256 = "dfb627e1f9603583678f552d8035a12dce878215c0a507b32d6f1b9d074d6c4d",
exec_compatible_with = [