1# OpKernels for data factorization and clustering.
2
3licenses(["notice"])  # Apache 2.0
4
5exports_files(["LICENSE"])
6
7package(default_visibility = ["//tensorflow:__subpackages__"])
8
9load("//tensorflow:tensorflow.bzl", "tf_cc_test")
10
11cc_library(
12    name = "all_kernels",
13    deps = [
14        ":clustering_ops",
15        ":masked_matmul_ops",
16        ":wals_solver_ops",
17        "@protobuf_archive//:protobuf_headers",
18    ],
19)
20
21cc_library(
22    name = "wals_solver_ops",
23    srcs = ["wals_solver_ops.cc"],
24    deps = [
25        "//tensorflow/core:framework_headers_lib",
26        "//third_party/eigen3",
27        "@protobuf_archive//:protobuf_headers",
28    ],
29    alwayslink = 1,
30)
31
32cc_library(
33    name = "clustering_ops",
34    srcs = ["clustering_ops.cc"],
35    deps = [
36        "//tensorflow/core:framework_headers_lib",
37        "//third_party/eigen3",
38        "@protobuf_archive//:protobuf_headers",
39    ],
40    alwayslink = 1,
41)
42
43cc_library(
44    name = "masked_matmul_ops",
45    srcs = ["masked_matmul_ops.cc"],
46    deps = [
47        "//tensorflow/core:framework_headers_lib",
48        "//tensorflow/core/kernels:bounds_check",
49        "//third_party/eigen3",
50        "@protobuf_archive//:protobuf_headers",
51    ],
52    alwayslink = 1,
53)
54
55tf_cc_test(
56    name = "clustering_ops_test",
57    srcs = ["clustering_ops_test.cc"],
58    deps = [
59        ":clustering_ops",
60        "//tensorflow/contrib/factorization:clustering_ops_op_lib",
61        "//tensorflow/core:core_cpu",
62        "//tensorflow/core:framework",
63        "//tensorflow/core:lib",
64        "//tensorflow/core:protos_all_cc",
65        "//tensorflow/core:test",
66        "//tensorflow/core:test_main",
67        "//tensorflow/core:testlib",
68    ],
69)
70
71filegroup(
72    name = "all_files",
73    srcs = glob(
74        ["**/*"],
75        exclude = [
76            "**/METADATA",
77            "**/OWNERS",
78        ],
79    ),
80)
81