Update rules_zig: add zig_srcs target, fix source handling bug, clean up BUILD files, adjust async/coro.zig tests, and disable nemo and yaml model loaders.
This commit is contained in:
parent
6fc1148206
commit
f27a524f31
@ -17,7 +17,7 @@ bazel_dep(name = "rules_proto", version = "7.1.0")
|
|||||||
bazel_dep(name = "rules_python", version = "0.40.0")
|
bazel_dep(name = "rules_python", version = "0.40.0")
|
||||||
bazel_dep(name = "rules_rust", version = "0.60.0")
|
bazel_dep(name = "rules_rust", version = "0.60.0")
|
||||||
bazel_dep(name = "rules_uv", version = "0.65.0")
|
bazel_dep(name = "rules_uv", version = "0.65.0")
|
||||||
bazel_dep(name = "rules_zig", version = "20250530.0-5084f1f")
|
bazel_dep(name = "rules_zig", version = "20250613.0-567662a")
|
||||||
bazel_dep(name = "sentencepiece", version = "20240618.0-d7ace0a")
|
bazel_dep(name = "sentencepiece", version = "20240618.0-d7ace0a")
|
||||||
bazel_dep(name = "toolchains_llvm_bootstrapped", version = "0.2.3")
|
bazel_dep(name = "toolchains_llvm_bootstrapped", version = "0.2.3")
|
||||||
bazel_dep(name = "toolchains_protoc", version = "0.4.1")
|
bazel_dep(name = "toolchains_protoc", version = "0.4.1")
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
load("@rules_zig//zig:defs.bzl", "zig_library")
|
load("@rules_zig//zig:defs.bzl", "zig_library", "zig_test")
|
||||||
|
load("@zml//bazel:zig_srcs.bzl", "zig_srcs")
|
||||||
|
|
||||||
|
|
||||||
zig_library(
|
zig_library(
|
||||||
name = "async",
|
name = "async",
|
||||||
@ -18,3 +20,14 @@ zig_library(
|
|||||||
"@libxev//:xev",
|
"@libxev//:xev",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
zig_test(
|
||||||
|
name = "test",
|
||||||
|
deps = [":async"],
|
||||||
|
testonly = False,
|
||||||
|
)
|
||||||
|
|
||||||
|
zig_srcs(
|
||||||
|
name = "sources",
|
||||||
|
zig_bin = ":test",
|
||||||
|
)
|
||||||
|
|||||||
@ -1,13 +1,19 @@
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
const stdx = @import("stdx");
|
const stdx = @import("stdx");
|
||||||
const xev = @import("xev").Dynamic;
|
const xev = @import("xev").Dynamic;
|
||||||
|
const XevThreadPool = @import("xev").ThreadPool;
|
||||||
|
|
||||||
|
const aio = @import("asyncio.zig");
|
||||||
|
const channel_mod = @import("channel.zig");
|
||||||
const coro = @import("coro.zig");
|
const coro = @import("coro.zig");
|
||||||
const executor = @import("executor.zig");
|
const executor = @import("executor.zig");
|
||||||
const channel_mod = @import("channel.zig");
|
|
||||||
const aio = @import("asyncio.zig");
|
|
||||||
const stack = @import("stack.zig");
|
const stack = @import("stack.zig");
|
||||||
|
|
||||||
const XevThreadPool = @import("xev").ThreadPool;
|
test {
|
||||||
|
std.testing.refAllDecls(@This());
|
||||||
|
std.testing.refAllDecls(coro);
|
||||||
|
}
|
||||||
|
|
||||||
pub const Condition = struct {
|
pub const Condition = struct {
|
||||||
inner: executor.Condition,
|
inner: executor.Condition,
|
||||||
|
|||||||
@ -265,29 +265,6 @@ const CoroT = struct {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Estimates the remaining stack size in the currently running coroutine
|
|
||||||
pub noinline fn remainingStackSize() usize {
|
|
||||||
var dummy: usize = 0;
|
|
||||||
dummy += 1;
|
|
||||||
const addr = @intFromPtr(&dummy);
|
|
||||||
|
|
||||||
// Check if the stack was already overflowed
|
|
||||||
const current = xframe();
|
|
||||||
StackOverflow.check(current) catch return 0;
|
|
||||||
|
|
||||||
// Check if the stack is currently overflowed
|
|
||||||
const bottom = @intFromPtr(current.stack.ptr);
|
|
||||||
if (addr < bottom) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Debug check that we're actually in the stack
|
|
||||||
const top = @intFromPtr(current.stack.ptr + current.stack.len);
|
|
||||||
std.debug.assert(addr < top); // should never have popped beyond the top
|
|
||||||
|
|
||||||
return addr - bottom;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
/// Thread-local coroutine runtime
|
/// Thread-local coroutine runtime
|
||||||
@ -450,7 +427,9 @@ fn testSetIdx(val: usize) void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn testFn() void {
|
fn testFn() void {
|
||||||
std.debug.assert(remainingStackSize() > 2048);
|
// Check if the stack was already overflowed
|
||||||
|
const current = xframe();
|
||||||
|
std.debug.assert(current.stack.remaining().len > 2048);
|
||||||
testSetIdx(2);
|
testSetIdx(2);
|
||||||
xsuspend();
|
xsuspend();
|
||||||
testSetIdx(4);
|
testSetIdx(4);
|
||||||
|
|||||||
34
bazel/zig_srcs.bzl
Normal file
34
bazel/zig_srcs.bzl
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
load("@aspect_bazel_lib//lib:tar.bzl", "mtree_spec", "tar")
|
||||||
|
load("@rules_zig//zig:defs.bzl", "zig_binary", "BINARY_KIND")
|
||||||
|
|
||||||
|
def zig_srcs(name, zig_bin="", zig_lib=""):
|
||||||
|
"""For a given zig_library, recursively extract all zig sources into a tarball.
|
||||||
|
|
||||||
|
This also includes the files translated from C headers.
|
||||||
|
It's also possible to pass zig_lib instead of zig_bin in which case,
|
||||||
|
The rule takes care of creating an intermediary binary from the lib.
|
||||||
|
"""
|
||||||
|
if zig_bin == "":
|
||||||
|
zig_bin = "{}_bin".format(name)
|
||||||
|
zig_binary(
|
||||||
|
name = zig_bin,
|
||||||
|
kind = BINARY_KIND.bc,
|
||||||
|
tags = ["manual", "@rules_zig//zig/lib:libc"],
|
||||||
|
deps = [zig_lib],
|
||||||
|
)
|
||||||
|
|
||||||
|
native.filegroup(
|
||||||
|
name = "{}_files".format(name),
|
||||||
|
srcs = [zig_bin],
|
||||||
|
output_group = "srcs",
|
||||||
|
)
|
||||||
|
mtree_spec(
|
||||||
|
name = "{}_mtree".format(name),
|
||||||
|
srcs = [":{}_files".format(name)],
|
||||||
|
)
|
||||||
|
tar(
|
||||||
|
name = name,
|
||||||
|
srcs = ["{}_files".format(name)],
|
||||||
|
args = [],
|
||||||
|
mtree = "{}_mtree".format(name),
|
||||||
|
)
|
||||||
@ -1,5 +1,7 @@
|
|||||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||||
|
|
||||||
load("@rules_zig//zig:defs.bzl", "zig_library")
|
load("@rules_zig//zig:defs.bzl", "zig_library")
|
||||||
|
load("//bazel:zig_srcs.bzl", "zig_srcs")
|
||||||
load("//bazel:zig.bzl", "zig_cc_test")
|
load("//bazel:zig.bzl", "zig_cc_test")
|
||||||
|
|
||||||
cc_library(
|
cc_library(
|
||||||
@ -30,3 +32,13 @@ zig_cc_test(
|
|||||||
name = "test",
|
name = "test",
|
||||||
deps = [":mlir"],
|
deps = [":mlir"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cc_static_library(
|
||||||
|
name="mlir_static",
|
||||||
|
deps = ["c"]
|
||||||
|
)
|
||||||
|
|
||||||
|
zig_srcs(
|
||||||
|
name = "sources",
|
||||||
|
zig_bin = ":test_test_lib",
|
||||||
|
)
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
load("@rules_zig//zig:defs.bzl", "zig_library")
|
load("@rules_zig//zig:defs.bzl", "zig_library")
|
||||||
load("//bazel:zig.bzl", "zig_cc_test")
|
load("//bazel:zig.bzl", "zig_cc_test")
|
||||||
|
load("//bazel:zig_srcs.bzl", "zig_srcs")
|
||||||
|
|
||||||
zig_library(
|
zig_library(
|
||||||
name = "dialects",
|
name = "dialects",
|
||||||
@ -24,6 +25,19 @@ zig_cc_test(
|
|||||||
deps = [":dialects"],
|
deps = [":dialects"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
zig_srcs(
|
||||||
|
name = "sources",
|
||||||
|
zig_bin = ":test_test_lib",
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_static_library(
|
||||||
|
name="mlir_static",
|
||||||
|
deps = [
|
||||||
|
"//mlir:c",
|
||||||
|
"@stablehlo//:stablehlo_dialect_capi",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
zig_library(
|
zig_library(
|
||||||
name = "stablehlo",
|
name = "stablehlo",
|
||||||
import_name = "mlir/dialects/stablehlo",
|
import_name = "mlir/dialects/stablehlo",
|
||||||
|
|||||||
2
mlir/mlir.zig
Normal file → Executable file
2
mlir/mlir.zig
Normal file → Executable file
@ -8,6 +8,8 @@ const log = std.log.scoped(.mlir);
|
|||||||
|
|
||||||
test {
|
test {
|
||||||
std.testing.refAllDecls(@This());
|
std.testing.refAllDecls(@This());
|
||||||
|
|
||||||
|
_ = try Context.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
const Error = error{
|
const Error = error{
|
||||||
|
|||||||
@ -1,15 +1,7 @@
|
|||||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
|
||||||
load("@rules_zig//zig:defs.bzl", "zig_library")
|
load("@rules_zig//zig:defs.bzl", "zig_library")
|
||||||
load("@zml//bazel:zig.bzl", "zig_cc_binary")
|
load("@zml//bazel:zig.bzl", "zig_cc_binary")
|
||||||
load("//bazel:zig_proto_library.bzl", "zig_proto_library")
|
load("@zml//bazel:zig_srcs.bzl", "zig_srcs")
|
||||||
|
load("@zml//bazel:zig_proto_library.bzl", "zig_proto_library")
|
||||||
cc_library(
|
|
||||||
name = "dlfcn",
|
|
||||||
hdrs = ["dlfcn.h"],
|
|
||||||
target_compatible_with = [
|
|
||||||
"@platforms//os:linux",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
zig_library(
|
zig_library(
|
||||||
name = "pjrt",
|
name = "pjrt",
|
||||||
@ -32,10 +24,12 @@ zig_library(
|
|||||||
"@xla//xla/pjrt/c:pjrt_c_api_hdrs",
|
"@xla//xla/pjrt/c:pjrt_c_api_hdrs",
|
||||||
"@xla//xla/pjrt/c:pjrt_c_api_profiler_extension_hdrs",
|
"@xla//xla/pjrt/c:pjrt_c_api_profiler_extension_hdrs",
|
||||||
"@xla//xla/pjrt/c:pjrt_c_api_triton_extension_hdrs",
|
"@xla//xla/pjrt/c:pjrt_c_api_triton_extension_hdrs",
|
||||||
] + select({
|
],
|
||||||
"@platforms//os:linux": [":dlfcn"],
|
)
|
||||||
"//conditions:default": [],
|
|
||||||
}),
|
zig_srcs(
|
||||||
|
name = "sources",
|
||||||
|
zig_lib = ":pjrt",
|
||||||
)
|
)
|
||||||
|
|
||||||
zig_proto_library(
|
zig_proto_library(
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
#include <dlfcn.h>
|
|
||||||
@ -74,20 +74,19 @@ pub const Api = struct {
|
|||||||
|
|
||||||
inner: c.PJRT_Api,
|
inner: c.PJRT_Api,
|
||||||
|
|
||||||
pub fn loadFrom(library: []const u8) !*const Api {
|
pub fn loadFrom(library: [:0]const u8) !*const Api {
|
||||||
var lib: std.DynLib = switch (builtin.os.tag) {
|
var lib: std.DynLib = switch (builtin.os.tag) {
|
||||||
.linux => blk: {
|
.linux => blk: {
|
||||||
const library_c = try std.posix.toPosixPath(library);
|
const handle = std.c.dlopen(library, .{ .LAZY = true, .GLOBAL = false, .NODELETE = true }) orelse {
|
||||||
break :blk .{
|
|
||||||
.inner = .{
|
|
||||||
.handle = c.dlopen(&library_c, c.RTLD_LAZY | c.RTLD_LOCAL | c.RTLD_NODELETE) orelse {
|
|
||||||
log.err("Unable to dlopen plugin: {s}", .{library});
|
log.err("Unable to dlopen plugin: {s}", .{library});
|
||||||
return error.FileNotFound;
|
return error.FileNotFound;
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
break :blk .{ .inner = .{ .handle = handle } };
|
||||||
|
},
|
||||||
|
else => std.DynLib.open(library) catch |err| {
|
||||||
|
log.err("Unable to dlopen plugin: {s}", .{library});
|
||||||
|
return err;
|
||||||
},
|
},
|
||||||
else => try std.DynLib.open(library),
|
|
||||||
};
|
};
|
||||||
const DynGetPjrtApi = lib.lookup(*const fn () callconv(.C) *const Api, "GetPjrtApi") orelse {
|
const DynGetPjrtApi = lib.lookup(*const fn () callconv(.C) *const Api, "GetPjrtApi") orelse {
|
||||||
std.debug.panic("Unable to find GetPjrtApi symbol in library: {s}", .{library});
|
std.debug.panic("Unable to find GetPjrtApi symbol in library: {s}", .{library});
|
||||||
|
|||||||
@ -36,7 +36,8 @@ fn setupXlaGpuCudaDirFlag() !void {
|
|||||||
defer arena.deinit();
|
defer arena.deinit();
|
||||||
|
|
||||||
var r_ = try runfiles.Runfiles.create(.{ .allocator = arena.allocator() }) orelse {
|
var r_ = try runfiles.Runfiles.create(.{ .allocator = arena.allocator() }) orelse {
|
||||||
stdx.debug.panic("Unable to find CUDA directory", .{});
|
log.warn("Unable to find CUDA directory. Using system defaults.", .{});
|
||||||
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
const source_repo = bazel_builtin.current_repository;
|
const source_repo = bazel_builtin.current_repository;
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
load("@rules_zig//zig:defs.bzl", "zig_library")
|
load("@rules_zig//zig:defs.bzl", "zig_library", "zig_test")
|
||||||
|
load("@zml//bazel:zig_srcs.bzl", "zig_srcs")
|
||||||
|
|
||||||
zig_library(
|
zig_library(
|
||||||
name = "stdx",
|
name = "stdx",
|
||||||
@ -17,3 +18,14 @@ zig_library(
|
|||||||
main = "stdx.zig",
|
main = "stdx.zig",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
zig_test(
|
||||||
|
name = "test",
|
||||||
|
deps = [":stdx"],
|
||||||
|
testonly = False,
|
||||||
|
)
|
||||||
|
|
||||||
|
zig_srcs(
|
||||||
|
name = "sources",
|
||||||
|
zig_bin = ":test",
|
||||||
|
)
|
||||||
|
|||||||
@ -91,7 +91,7 @@ test SPSC {
|
|||||||
try testing.expect(q.empty());
|
try testing.expect(q.empty());
|
||||||
|
|
||||||
// Elems
|
// Elems
|
||||||
var elems: [10]Elem = .{.{}} ** 10;
|
var elems: [10]Elem = @splat(.{});
|
||||||
|
|
||||||
// One
|
// One
|
||||||
try testing.expect(q.pop() == null);
|
try testing.expect(q.pop() == null);
|
||||||
@ -207,7 +207,7 @@ test MPSC {
|
|||||||
q.init();
|
q.init();
|
||||||
|
|
||||||
// Elems
|
// Elems
|
||||||
var elems: [10]Elem = .{.{}} ** 10;
|
var elems: [10]Elem = @splat(.{});
|
||||||
|
|
||||||
// One
|
// One
|
||||||
try testing.expect(q.pop() == null);
|
try testing.expect(q.pop() == null);
|
||||||
|
|||||||
@ -8,6 +8,11 @@ pub const meta = @import("meta.zig");
|
|||||||
pub const queue = @import("queue.zig");
|
pub const queue = @import("queue.zig");
|
||||||
pub const time = @import("time.zig");
|
pub const time = @import("time.zig");
|
||||||
|
|
||||||
|
test {
|
||||||
|
const std = @import("std");
|
||||||
|
std.testing.refAllDecls(@This());
|
||||||
|
}
|
||||||
|
|
||||||
pub inline fn stackSlice(comptime max_len: usize, T: type, len: usize) []T {
|
pub inline fn stackSlice(comptime max_len: usize, T: type, len: usize) []T {
|
||||||
debug.assert(len <= max_len, "stackSlice can only create a slice of up to {} elements, got: {}", .{ max_len, len });
|
debug.assert(len <= max_len, "stackSlice can only create a slice of up to {} elements, got: {}", .{ max_len, len });
|
||||||
var storage: [max_len]T = undefined;
|
var storage: [max_len]T = undefined;
|
||||||
|
|||||||
68
third_party/modules/rules_zig/20250613.0-567662a/MODULE.bazel
vendored
Normal file
68
third_party/modules/rules_zig/20250613.0-567662a/MODULE.bazel
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
module(
|
||||||
|
name = "rules_zig",
|
||||||
|
version = "20250613.0-567662a",
|
||||||
|
compatibility_level = 1,
|
||||||
|
)
|
||||||
|
|
||||||
|
bazel_dep(name = "aspect_bazel_lib", version = "2.8.1")
|
||||||
|
bazel_dep(name = "bazel_skylib", version = "1.7.1")
|
||||||
|
bazel_dep(name = "platforms", version = "0.0.10")
|
||||||
|
|
||||||
|
zig = use_extension("//zig:extensions.bzl", "zig")
|
||||||
|
zig.index(file = "//zig/private:versions.json")
|
||||||
|
use_repo(zig, "zig_toolchains")
|
||||||
|
|
||||||
|
register_toolchains("@rules_zig//zig/target:all")
|
||||||
|
|
||||||
|
register_toolchains("@zig_toolchains//:all")
|
||||||
|
|
||||||
|
zig_dev = use_extension(
|
||||||
|
"//zig:extensions.bzl",
|
||||||
|
"zig",
|
||||||
|
dev_dependency = True,
|
||||||
|
)
|
||||||
|
zig_dev.toolchain(zig_version = "0.13.0")
|
||||||
|
zig_dev.toolchain(zig_version = "0.12.1")
|
||||||
|
zig_dev.toolchain(zig_version = "0.12.0")
|
||||||
|
zig_dev.toolchain(zig_version = "0.11.0")
|
||||||
|
|
||||||
|
bazel_dep(name = "rules_cc", version = "0.0.9")
|
||||||
|
bazel_dep(name = "stardoc", version = "0.7.0", dev_dependency = True, repo_name = "io_bazel_stardoc")
|
||||||
|
bazel_dep(name = "gazelle", version = "0.38.0", dev_dependency = True, repo_name = "bazel_gazelle")
|
||||||
|
bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True)
|
||||||
|
bazel_dep(
|
||||||
|
name = "buildifier_prebuilt",
|
||||||
|
version = "7.3.1",
|
||||||
|
dev_dependency = True,
|
||||||
|
)
|
||||||
|
bazel_dep(name = "rules_multirun", version = "0.9.0", dev_dependency = True)
|
||||||
|
bazel_dep(name = "rules_python", version = "0.35.0", dev_dependency = True)
|
||||||
|
bazel_dep(
|
||||||
|
name = "rules_bazel_integration_test",
|
||||||
|
version = "0.25.0",
|
||||||
|
dev_dependency = True,
|
||||||
|
)
|
||||||
|
|
||||||
|
bazel_binaries = use_extension(
|
||||||
|
"@rules_bazel_integration_test//:extensions.bzl",
|
||||||
|
"bazel_binaries",
|
||||||
|
dev_dependency = True,
|
||||||
|
)
|
||||||
|
|
||||||
|
# NOTE: Keep in sync with WORKSPACE.
|
||||||
|
bazel_binaries.download(version_file = "//:.bazelversion")
|
||||||
|
bazel_binaries.download(version = "7.0.0")
|
||||||
|
use_repo(
|
||||||
|
bazel_binaries,
|
||||||
|
"bazel_binaries",
|
||||||
|
"bazel_binaries_bazelisk",
|
||||||
|
"build_bazel_bazel_.bazelversion",
|
||||||
|
"build_bazel_bazel_7_0_0",
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO[AH] Should be an implicit transitive dependency through rules_bazel_integration_test.
|
||||||
|
# However, if we do not include it explicitly, then the runfiles resolution for
|
||||||
|
# cgrindel_bazel_starlib/shlib/lib/message.sh fails in
|
||||||
|
# rules_bazel_integration_test/tools/update_deleted_packages.sh when invoked
|
||||||
|
# through the rules_multirun target //util:update.
|
||||||
|
bazel_dep(name = "cgrindel_bazel_starlib", version = "0.21.0", dev_dependency = True)
|
||||||
5
third_party/modules/rules_zig/20250613.0-567662a/source.json
vendored
Normal file
5
third_party/modules/rules_zig/20250613.0-567662a/source.json
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"strip_prefix": "rules_zig-567662a3ce5e87894950d56c69d8de5ad6e0b5f0",
|
||||||
|
"url": "https://github.com/zml/rules_zig/archive/567662a3ce5e87894950d56c69d8de5ad6e0b5f0.tar.gz",
|
||||||
|
"integrity": "sha256-PjFpDJXO0BGx2CAZ54Ppv6d4TwTDOWS+mVangKQFvZc="
|
||||||
|
}
|
||||||
3
third_party/modules/rules_zig/metadata.json
vendored
3
third_party/modules/rules_zig/metadata.json
vendored
@ -16,7 +16,8 @@
|
|||||||
"20240912.0-41bfe84",
|
"20240912.0-41bfe84",
|
||||||
"20240913.0-1957d05",
|
"20240913.0-1957d05",
|
||||||
"20250314.0-b9739c6",
|
"20250314.0-b9739c6",
|
||||||
"20250519.0-233b207"
|
"20250519.0-233b207",
|
||||||
|
"20250613.0-567662a"
|
||||||
],
|
],
|
||||||
"yanked_versions": {}
|
"yanked_versions": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
load("@aspect_bazel_lib//lib:tar.bzl", "mtree_spec", "tar")
|
|
||||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||||
load("@rules_zig//zig:defs.bzl", "zig_library")
|
load("@rules_zig//zig:defs.bzl", "zig_library")
|
||||||
load("//bazel:zig.bzl", "zig_cc_test")
|
load("//bazel:zig.bzl", "zig_cc_test")
|
||||||
load("//bazel:zig_proto_library.bzl", "zig_proto_library")
|
load("//bazel:zig_proto_library.bzl", "zig_proto_library")
|
||||||
|
load("//bazel:zig_srcs.bzl", "zig_srcs")
|
||||||
|
|
||||||
cc_library(
|
cc_library(
|
||||||
name = "posix",
|
name = "posix",
|
||||||
@ -25,7 +25,6 @@ zig_library(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
":posix",
|
":posix",
|
||||||
":sentencepiece_model_proto",
|
|
||||||
":xla_proto",
|
":xla_proto",
|
||||||
"//async",
|
"//async",
|
||||||
"//mlir",
|
"//mlir",
|
||||||
@ -35,9 +34,7 @@ zig_library(
|
|||||||
"//stdx",
|
"//stdx",
|
||||||
"//zml/tokenizer",
|
"//zml/tokenizer",
|
||||||
"//zml/tools",
|
"//zml/tools",
|
||||||
"@rules_zig//zig/lib:libc",
|
|
||||||
"@rules_zig//zig/runfiles",
|
"@rules_zig//zig/runfiles",
|
||||||
"@zig-yaml//:zig-yaml",
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -47,11 +44,6 @@ zig_proto_library(
|
|||||||
deps = ["@xla//xla/pjrt/proto:compile_options_proto"],
|
deps = ["@xla//xla/pjrt/proto:compile_options_proto"],
|
||||||
)
|
)
|
||||||
|
|
||||||
zig_proto_library(
|
|
||||||
name = "sentencepiece_model_proto",
|
|
||||||
import_name = "//sentencepiece:model_proto",
|
|
||||||
deps = ["@sentencepiece//:sentencepiece_model_proto"],
|
|
||||||
)
|
|
||||||
|
|
||||||
# All ZML Tests
|
# All ZML Tests
|
||||||
|
|
||||||
@ -71,21 +63,7 @@ filegroup(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
|
|
||||||
filegroup(
|
zig_srcs(
|
||||||
name = "srcs",
|
|
||||||
srcs = [":test_test_lib"],
|
|
||||||
output_group = "srcs",
|
|
||||||
)
|
|
||||||
|
|
||||||
mtree_spec(
|
|
||||||
name = "mtree",
|
|
||||||
srcs = [":srcs"],
|
|
||||||
)
|
|
||||||
|
|
||||||
tar(
|
|
||||||
name = "sources",
|
name = "sources",
|
||||||
srcs = [":srcs"],
|
zig_bin = ":test_test_lib",
|
||||||
args = [
|
|
||||||
],
|
|
||||||
mtree = ":mtree",
|
|
||||||
)
|
)
|
||||||
|
|||||||
@ -5,11 +5,11 @@ const c = @import("c");
|
|||||||
const stdx = @import("stdx");
|
const stdx = @import("stdx");
|
||||||
|
|
||||||
pub const gguf = @import("aio/gguf.zig");
|
pub const gguf = @import("aio/gguf.zig");
|
||||||
pub const nemo = @import("aio/nemo.zig");
|
// pub const nemo = @import("aio/nemo.zig");
|
||||||
pub const safetensors = @import("aio/safetensors.zig");
|
pub const safetensors = @import("aio/safetensors.zig");
|
||||||
pub const tinyllama = @import("aio/tinyllama.zig");
|
pub const tinyllama = @import("aio/tinyllama.zig");
|
||||||
pub const torch = @import("aio/torch.zig");
|
pub const torch = @import("aio/torch.zig");
|
||||||
pub const yaml = @import("aio/yaml.zig");
|
// pub const yaml = @import("aio/yaml.zig");
|
||||||
const HostBuffer = @import("hostbuffer.zig").HostBuffer;
|
const HostBuffer = @import("hostbuffer.zig").HostBuffer;
|
||||||
const posix = @import("posix.zig");
|
const posix = @import("posix.zig");
|
||||||
const zml = @import("zml.zig");
|
const zml = @import("zml.zig");
|
||||||
@ -18,10 +18,10 @@ pub const log = std.log.scoped(.@"zml/aio");
|
|||||||
test {
|
test {
|
||||||
std.testing.refAllDecls(@This());
|
std.testing.refAllDecls(@This());
|
||||||
std.testing.refAllDecls(gguf);
|
std.testing.refAllDecls(gguf);
|
||||||
std.testing.refAllDecls(nemo);
|
// std.testing.refAllDecls(nemo);
|
||||||
std.testing.refAllDecls(safetensors);
|
std.testing.refAllDecls(safetensors);
|
||||||
std.testing.refAllDecls(torch);
|
std.testing.refAllDecls(torch);
|
||||||
std.testing.refAllDecls(yaml);
|
// std.testing.refAllDecls(yaml);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO error set for weight loading
|
// TODO error set for weight loading
|
||||||
|
|||||||
@ -28,3 +28,11 @@ zig_library(
|
|||||||
"//ffi:zig",
|
"//ffi:zig",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cc_static_library(
|
||||||
|
name="hftokenizer_static",
|
||||||
|
deps = [
|
||||||
|
":hftokenizers_rs",
|
||||||
|
"//ffi:cc",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
load("@rules_zig//zig:defs.bzl", "zig_library")
|
load("@rules_zig//zig:defs.bzl", "zig_library")
|
||||||
load("//bazel:swig.bzl", "swig_cc_library")
|
load("//bazel:swig.bzl", "swig_cc_library")
|
||||||
|
load("//bazel:zig_srcs.bzl", "zig_srcs")
|
||||||
|
|
||||||
swig_cc_library(
|
swig_cc_library(
|
||||||
name = "sentencepiece_swig",
|
name = "sentencepiece_swig",
|
||||||
@ -21,3 +22,8 @@ zig_library(
|
|||||||
"//ffi:zig",
|
"//ffi:zig",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
zig_srcs(
|
||||||
|
name = "sources",
|
||||||
|
zig_lib = ":sentencepiece",
|
||||||
|
)
|
||||||
|
|||||||
@ -1,10 +1,18 @@
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
|
const asynk = @import("async");
|
||||||
const hftokenizers = @import("hftokenizers");
|
const hftokenizers = @import("hftokenizers");
|
||||||
const sentencepiece = @import("sentencepiece");
|
const sentencepiece = @import("sentencepiece");
|
||||||
const asynk = @import("async");
|
|
||||||
|
|
||||||
const homemade = @import("homemade.zig");
|
const homemade = @import("homemade.zig");
|
||||||
|
|
||||||
|
test {
|
||||||
|
std.testing.refAllDecls(@This());
|
||||||
|
std.testing.refAllDecls(hftokenizers);
|
||||||
|
std.testing.refAllDecls(sentencepiece);
|
||||||
|
std.testing.refAllDecls(homemade);
|
||||||
|
}
|
||||||
|
|
||||||
const Tokenizers = enum {
|
const Tokenizers = enum {
|
||||||
hftokenizers,
|
hftokenizers,
|
||||||
sentencepiece,
|
sentencepiece,
|
||||||
|
|||||||
@ -22,3 +22,8 @@ zig_library(
|
|||||||
"//conditions:default": [],
|
"//conditions:default": [],
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cc_static_library(
|
||||||
|
name = "macos_static_tools",
|
||||||
|
deps = ["macos_c"]
|
||||||
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user