blob: 3e11e703466ea0c4ee0f4f47a0f6bb1275e6b83e [file] [log] [blame]
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load(
"//bindings/python/pyiree:build_defs.bzl",
"NUMPY_DEPS",
"PLATFORM_VULKAN_DEPS",
"PYBIND_COPTS",
"PYBIND_EXTENSION_COPTS",
"PYBIND_FEATURES",
"iree_py_extension",
"pybind_cc_library",
)
package(
default_visibility = ["//visibility:public"],
licenses = ["notice"], # Apache 2.0
)
DRIVER_DEPS = PLATFORM_VULKAN_DEPS + [
"//iree/hal/interpreter:interpreter_driver_module",
"//iree/hal/vulkan:vulkan_driver_module",
]
py_library(
name = "rt",
srcs = [
"__init__.py",
"system_api.py",
],
srcs_version = "PY3",
tags = ["nokokoro"],
deps = [
":binding",
"//bindings/python:pathsetup", # build_cleaner: keep
],
)
iree_py_extension(
name = "binding",
srcs = [
"initialize_module.cc",
],
copts = PYBIND_COPTS + PYBIND_EXTENSION_COPTS,
features = PYBIND_FEATURES,
linkstatic = 1,
# TODO(b/145815906) Get this running in OSS CI.
tags = ["nokokoro"],
win_def_file = "export.def",
deps = DRIVER_DEPS + [
":rt_library",
"//bindings/python/pyiree/common",
"//iree/base:initializer",
"//iree/base:tracing",
"@com_google_tracing_framework_cpp//:tracing_framework_bindings_cpp",
],
)
pybind_cc_library(
name = "rt_library",
srcs = [
"function_abi.cc",
"hal.cc",
"host_types.cc",
"vm.cc",
],
hdrs = [
"function_abi.h",
"hal.h",
"host_types.h",
"vm.h",
],
tags = ["nokokoro"],
deps = [
"//bindings/python/pyiree/common",
"//iree/base:api",
"//iree/base:signature_mangle",
"//iree/hal:api",
"//iree/modules/hal",
"//iree/vm",
"//iree/vm:bytecode_module",
"//iree/vm:invocation",
"//iree/vm:module",
"//iree/vm:ref",
"//iree/vm:variant_list",
"@com_google_absl//absl/container:inlined_vector",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
],
)
py_library(
name = "system_api",
srcs = ["system_api.py"],
srcs_version = "PY3",
# TODO(b/145815906) Get this running in OSS CI.
tags = ["nokokoro"],
deps = [
":binding",
"//bindings/python:pathsetup", # build_cleaner: keep
],
)
py_test(
name = "function_abi_test",
srcs = ["function_abi_test.py"],
python_version = "PY3",
# TODO(laurenzo): Enable once test does not depend on a real vulkan device.
tags = [
"noga",
"nokokoro",
"notap",
],
deps = NUMPY_DEPS + [
"//bindings/python:pathsetup", # build_cleaner: keep
"@absl_py//absl/testing:absltest",
"//bindings/python/pyiree/rt",
],
# TODO(b/145815906) Get this running in OSS CI.
)
py_test(
name = "hal_test",
srcs = ["hal_test.py"],
python_version = "PY3",
# TODO(b/145815906) Get this running in OSS CI.
tags = ["nokokoro"],
deps = NUMPY_DEPS + [
"//bindings/python:pathsetup", # build_cleaner: keep
"@absl_py//absl/testing:absltest",
"//bindings/python/pyiree/rt",
],
)
py_test(
name = "system_api_test",
srcs = ["system_api_test.py"],
python_version = "PY3",
tags = [
# TODO(laurenzo): Enable once test does not depend on a real vulkan device.
"notap",
# TODO(b/145815906) Get this running in OSS CI.
"noga",
"nokokoro",
],
deps = NUMPY_DEPS + [
":system_api",
"//bindings/python:pathsetup", # build_cleaner: keep
"@absl_py//absl/testing:absltest",
"//bindings/python/pyiree/compiler",
"//bindings/python/pyiree/rt",
],
)
py_test(
name = "vm_test",
srcs = ["vm_test.py"],
python_version = "PY3",
# TODO(laurenzo): Enable once test does not depend on a real vulkan device.
tags = [
"noga",
"nokokoro",
"notap",
],
deps = NUMPY_DEPS + [
"//bindings/python:pathsetup", # build_cleaner: keep
"@absl_py//absl/testing:absltest",
"//bindings/python/pyiree/compiler",
"//bindings/python/pyiree/rt",
],
)
# py_library(
# name = "pyiree",
# srcs = [
# "__init__.py",
# ],
# srcs_version = "PY3",
# # TODO(b/145815906) Get this running in OSS CI.
# tags = ["nokokoro"],
# deps = [
# ":binding",
# ":compiler",
# ":system_api",
# "//bindings/python:pathsetup", # build_cleaner: keep
# ] + select({
# "//iree:enable_tensorflow": [
# "//bindings/python/pyiree/tf_interop:test_utils",
# "//bindings/python/pyiree/tf_interop:tf_test_driver",
# ],
# "//conditions:default": [
# ],
# }),
# )
#
#
# cc_library(
# name = "base",
# srcs = [
# "compiler.cc",
# "function_abi.cc",
# "hal.cc",
# "host_types.cc",
# "status_utils.cc",
# "vm.cc",
# ],
# hdrs = [
# "binding.h",
# "compiler.h",
# "function_abi.h",
# "hal.h",
# "host_types.h",
# "status_utils.h",
# "vm.h",
# ],
# copts = DEFAULT_COPTS,
# features = DEFAULT_FEATURES,
# # TODO(b/145815906) Get this running in OSS CI.
# tags = ["nokokoro"],
# deps = [
# "@com_google_absl//absl/container:inlined_vector",
# "@com_google_absl//absl/memory",
# "@com_google_absl//absl/strings",
# "@com_google_absl//absl/types:optional",
# "@com_google_absl//absl/types:span",
# "@com_google_absl//absl/types:variant",
# "//iree/compiler/Utils",
# "//iree/modules/hal",
# "//iree/vm",
# "//iree/vm:bytecode_module",
# "//iree/vm:invocation",
# "//iree/vm:module",
# "//iree/vm:ref",
# "//iree/vm:variant_list",
# "//third_party/llvm/llvm/projects/google_mlir:IR",
# "//iree/base:api",
# "//iree/base:status",
# "//iree/base:signature_mangle",
# "//iree/hal:api",
# "//iree/vm:api",
# "@llvm-project//llvm:support",
# "//third_party/llvm/llvm/projects/google_mlir:Parser",
# "//third_party/llvm/llvm/projects/google_mlir:Pass",
# "@iree_pybind11//:pybind11",
# ] + COMPILER_DEPS + DRIVER_DEPS + PYTHON_HEADERS_DEPS,
# )
#
# iree_py_extension(
# name = "binding",
# srcs = [
# "initialize_module.cc",
# ],
# copts = DEFAULT_COPTS,
# features = DEFAULT_FEATURES,
# linkstatic = 1,
# # TODO(b/145815906) Get this running in OSS CI.
# tags = ["nokokoro"],
# win_def_file = "export.def",
# deps = [
# ":base",
# "//bindings/python/pyiree/tf_interop",
# "//iree/base:initializer",
# "//iree/base:tracing",
# "@com_google_tracing_framework_cpp//:tracing_framework_bindings_cpp",
# ],
# )
#
# py_test(
# name = "compiler_test",
# srcs = ["compiler_test.py"],
# python_version = "PY3",
# # TODO(b/145815906) Get this running in OSS CI.
# tags = ["nokokoro"],
# deps = [
# "//bindings/python:pathsetup", # build_cleaner: keep
# "@absl_py//absl/testing:absltest",
# "//bindings/python/pyiree",
# ],
# )
#