| # 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:build_defs.oss.bzl", | |
| "NUMPY_DEPS", | |
| "PLATFORM_VULKAN_DEPS", | |
| "PYBIND_COPTS", | |
| "PYBIND_EXTENSION_COPTS", | |
| "PYBIND_FEATURES", | |
| "iree_py_extension", | |
| "iree_py_library", | |
| "iree_py_test", | |
| "pybind_cc_library", | |
| ) | |
| package( | |
| default_visibility = ["//visibility:public"], | |
| licenses = ["notice"], # Apache 2.0 | |
| ) | |
| DRIVER_DEPS = PLATFORM_VULKAN_DEPS + [ | |
| "//iree/hal/vulkan:vulkan_driver_module", | |
| "//iree/hal/llvmjit:llvmjit_driver_module", | |
| "//iree/hal/vmla:vmla_driver_module", | |
| ] | |
| iree_py_library( | |
| name = "rt", | |
| srcs = [ | |
| "__init__.py", | |
| "system_api.py", | |
| ], | |
| srcs_version = "PY3", | |
| 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, | |
| win_def_file = "export.def", | |
| deps = DRIVER_DEPS + [ | |
| ":rt_library", | |
| "//bindings/python/pyiree/common", | |
| "//iree/base:initializer", | |
| ], | |
| ) | |
| 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", | |
| ], | |
| deps = [ | |
| "//bindings/python/pyiree/common", | |
| "//iree/base:api", | |
| "//iree/base:signature_mangle", | |
| "//iree/hal:api", | |
| "//iree/modules/hal", | |
| "//iree/modules/strings:strings_module", | |
| "//iree/modules/tensorlist:native_module", | |
| "//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", | |
| ], | |
| ) | |
| iree_py_library( | |
| name = "system_api", | |
| srcs = ["system_api.py"], | |
| srcs_version = "PY3", | |
| deps = [ | |
| ":binding", | |
| "//bindings/python:pathsetup", # build_cleaner: keep | |
| ], | |
| ) | |
| iree_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 = [ | |
| "nokokoro", | |
| ], | |
| deps = NUMPY_DEPS + [ | |
| "//bindings/python:pathsetup", # build_cleaner: keep | |
| "@absl_py//absl/testing:absltest", | |
| "//bindings/python/pyiree/rt", | |
| ], | |
| ) | |
| iree_py_test( | |
| name = "hal_test", | |
| srcs = ["hal_test.py"], | |
| python_version = "PY3", | |
| deps = NUMPY_DEPS + [ | |
| "//bindings/python:pathsetup", # build_cleaner: keep | |
| "@absl_py//absl/testing:absltest", | |
| "//bindings/python/pyiree/rt", | |
| ], | |
| ) | |
| iree_py_test( | |
| name = "system_api_test", | |
| srcs = ["system_api_test.py"], | |
| python_version = "PY3", | |
| deps = NUMPY_DEPS + [ | |
| ":system_api", | |
| "//bindings/python:pathsetup", # build_cleaner: keep | |
| "@absl_py//absl/testing:absltest", | |
| "//bindings/python/pyiree/compiler", | |
| "//bindings/python/pyiree/rt", | |
| ], | |
| ) | |
| iree_py_test( | |
| name = "vm_test", | |
| srcs = ["vm_test.py"], | |
| python_version = "PY3", | |
| deps = NUMPY_DEPS + [ | |
| "//bindings/python:pathsetup", # build_cleaner: keep | |
| "@absl_py//absl/testing:absltest", | |
| "//bindings/python/pyiree/compiler", | |
| "//bindings/python/pyiree/rt", | |
| ], | |
| ) |