Files
wehub-resource-sync 8a852e4b4e
cffconvert / validate (push) Has been skipped
License Check / license-check (push) Failing after 2s
chore: import upstream snapshot with attribution
2026-07-13 12:14:16 +08:00

270 lines
5.5 KiB
Python

load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("@rules_cc//cc:cc_test.bzl", "cc_test")
# StableHLO Reference Library
load("build_def.bzl", "shlo_ref_linkopts")
package(
# copybara:uncomment default_applicable_licenses = ["//tensorflow:LICENSE"],
default_visibility = ["//visibility:public"],
)
cc_library(
name = "shlo",
deps = [
":tensor",
],
)
cc_library(
name = "tensor",
srcs = ["tensor.cc"],
hdrs = ["tensor.h"],
deps = [
":data_type",
":overload",
":quantized_tensor_element_type",
":shape",
"@com_google_absl//absl/log:absl_check",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "i4",
hdrs = ["i4.h"],
deps = [],
)
cc_test(
name = "i4_test",
srcs = ["i4_test.cc"],
deps = [
":i4",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "tensor_test",
srcs = ["tensor_test.cc"],
deps = [
":data_type",
":tensor",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "shape",
srcs = ["shape.cc"],
hdrs = ["shape.h"],
deps = [
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:inlined_vector",
"@com_google_absl//absl/log:absl_check",
"@com_google_absl//absl/types:span",
],
)
cc_test(
name = "shape_test",
srcs = ["shape_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":shape",
"@com_google_absl//absl/types:span",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "quantized_tensor_element_type",
srcs = ["quantized_tensor_element_type.cc"],
hdrs = ["quantized_tensor_element_type.h"],
deps = [
":data_type",
":shape",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/container:inlined_vector",
"@com_google_absl//absl/log:absl_check",
"@com_google_absl//absl/log:absl_log",
"@com_google_absl//absl/types:span",
],
)
cc_test(
name = "quantized_tensor_element_type_test",
srcs = ["quantized_tensor_element_type_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":data_type",
":quantized_tensor_element_type",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "bf16",
hdrs = ["bf16.h"],
deps = [
"@com_google_absl//absl/base",
"@com_google_absl//absl/log:absl_check",
],
)
cc_test(
name = "bf16_test",
srcs = ["bf16_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":bf16",
"@com_google_absl//absl/base",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "f16",
hdrs = ["f16.h"],
deps = ["@FP16"],
)
cc_library(
name = "f16_emulated",
hdrs = ["f16.h"],
copts = ["-DSHLO_REF_EMULATE_F16=1"],
deps = ["@FP16"],
)
cc_test(
name = "f16_test",
srcs = ["f16_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":f16",
"@com_google_absl//absl/base",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "f16_emulated_test",
srcs = ["f16_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":f16_emulated",
"@com_google_absl//absl/base",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "data_type",
hdrs = ["data_type.h"],
deps = [
":bf16",
":f16",
":i4",
],
)
cc_library(
name = "dispatch",
hdrs = ["dispatch.h"],
visibility = ["//tensorflow/lite/experimental/shlo:__subpackages__"],
)
cc_test(
name = "dispatch_test",
srcs = ["dispatch_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":dispatch",
":status_matcher",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "overload",
hdrs = ["overload.h"],
visibility = ["//tensorflow/lite/experimental/shlo:__subpackages__"],
)
cc_test(
name = "overload_test",
srcs = ["overload_test.cc"],
deps = [
":overload",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:string_view",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "quantize",
hdrs = ["quantize.h"],
deps = [":data_type"],
)
cc_test(
name = "quantize_test",
srcs = ["quantize_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":data_type",
":quantize",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "status_matcher",
testonly = True,
hdrs = ["status_matcher.h"],
deps = [
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "tensor_with_data",
testonly = True,
hdrs = ["tensor_with_data.h"],
deps = [
":data_type",
":quantize",
":quantized_tensor_element_type",
":shape",
":tensor",
"@com_google_absl//absl/types:span",
],
)
cc_library(
name = "tensor_matcher",
testonly = True,
hdrs = ["tensor_matcher.h"],
deps = [
":data_type",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "tensor_matcher_test",
srcs = ["tensor_matcher_test.cc"],
linkopts = shlo_ref_linkopts(),
deps = [
":data_type",
":shape",
":tensor_matcher",
":tensor_with_data",
"@com_google_googletest//:gtest_main",
],
)