mirror of
https://github.com/zebrajr/tensorflow.git
synced 2025-12-06 12:20:11 +01:00
Implements pywrap_tensorflow_macro_opensource using cc_shared_library.
`dynamic_deps` is not used. Will be added in a separate change. PiperOrigin-RevId: 470353185
This commit is contained in:
parent
f8df5fead8
commit
cc96e4ef75
|
|
@ -1 +1 @@
|
|||
5.1.1
|
||||
5.3.0
|
||||
|
|
@ -3257,11 +3257,70 @@ py_library(
|
|||
pywrap_tensorflow_macro(
|
||||
name = "pywrap_tensorflow_internal",
|
||||
srcs = ["pywrap_tensorflow_internal.cc"],
|
||||
static_deps = [
|
||||
"@arm_neon_2_x86_sse//:__subpackages__",
|
||||
"@bazel_tools//:__subpackages__",
|
||||
"@boringssl//:__subpackages__",
|
||||
"@clog//:__subpackages__",
|
||||
"@com_github_cares_cares//:__subpackages__",
|
||||
"@com_github_googlecloudplatform_tensorflow_gcp_tools//:__subpackages__",
|
||||
"@com_github_grpc_grpc//:__subpackages__",
|
||||
"@com_google_absl//:__subpackages__",
|
||||
"@com_google_googleapis//:__subpackages__",
|
||||
"@com_google_protobuf//:__subpackages__",
|
||||
"@com_googlesource_code_re2//:__subpackages__",
|
||||
"@compute_library//:__subpackages__",
|
||||
"@cpuinfo//:__subpackages__",
|
||||
"@cudnn_frontend_archive//:__subpackages__",
|
||||
"@curl//:__subpackages__",
|
||||
"@dlpack//:__subpackages__",
|
||||
"@double_conversion//:__subpackages__",
|
||||
"@eigen_archive//:__subpackages__",
|
||||
"@farmhash_archive//:__subpackages__",
|
||||
"@farmhash_gpu_archive//:__subpackages__",
|
||||
"@fft2d//:__subpackages__",
|
||||
"@flatbuffers//:__subpackages__",
|
||||
"@FP16//:__subpackages__",
|
||||
"@FXdiv//:__subpackages__",
|
||||
"@gemmlowp//:__subpackages__",
|
||||
"@gif//:__subpackages__",
|
||||
"@highwayhash//:__subpackages__",
|
||||
"@hwloc//:__subpackages__",
|
||||
"@icu//:__subpackages__",
|
||||
"@jsoncpp_git//:__subpackages__",
|
||||
"@libjpeg_turbo//:__subpackages__",
|
||||
"@libxsmm_archive//:__subpackages__",
|
||||
"@llvm_openmp//:__subpackages__",
|
||||
"@llvm-project//:__subpackages__",
|
||||
"@llvm_terminfo//:__subpackages__",
|
||||
"@llvm_zlib//:__subpackages__",
|
||||
"@lmdb//:__subpackages__",
|
||||
"@local_config_cuda//:__subpackages__",
|
||||
"@local_config_git//:__subpackages__",
|
||||
"@local_config_nccl//:__subpackages__",
|
||||
"@local_config_python//:__subpackages__",
|
||||
"@local_config_rocm//:__subpackages__",
|
||||
"@local_config_tensorrt//:__subpackages__",
|
||||
"@local_execution_config_platform//:__subpackages__",
|
||||
"@mkl_dnn_acl_compatible//:__subpackages__",
|
||||
"@mkl_dnn_v1//:__subpackages__",
|
||||
"@nccl_archive//:__subpackages__",
|
||||
"@nsync//:__subpackages__",
|
||||
"@org_sqlite//:__subpackages__",
|
||||
"@platforms//:__subpackages__",
|
||||
"@png//:__subpackages__",
|
||||
"@pthreadpool//:__subpackages__",
|
||||
"@pybind11//:__subpackages__",
|
||||
"@ruy//:__subpackages__",
|
||||
"@snappy//:__subpackages__",
|
||||
"@sobol_data//:__subpackages__",
|
||||
"//:__subpackages__",
|
||||
"@upb//:__subpackages__",
|
||||
"@XNNPACK//:__subpackages__",
|
||||
"@zlib//:__subpackages__",
|
||||
],
|
||||
# copybara:comment_begin(OSS Windows only: DEF file for exported symbols)
|
||||
win_def_file = select({
|
||||
"//tensorflow:windows": ":pywrap_tensorflow_filtered_def_file",
|
||||
"//conditions:default": None,
|
||||
}),
|
||||
win_def_file = ":pywrap_tensorflow_filtered_def_file",
|
||||
# copybara:comment_end
|
||||
deps = [
|
||||
":bfloat16_lib",
|
||||
|
|
@ -3492,7 +3551,7 @@ genrule(
|
|||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
# Get the import library of _pywrap_tensorflow_internal.pyd
|
||||
# Get the import library of _pywrap_tensorflow_internal.pyd, platform-specific to Windows.
|
||||
filegroup(
|
||||
name = "get_pywrap_tensorflow_import_lib_file",
|
||||
srcs = [":_pywrap_tensorflow_internal.so"],
|
||||
|
|
|
|||
|
|
@ -2076,6 +2076,8 @@ def _collect_deps_aspect_impl(target, ctx):
|
|||
all_deps += ctx.rule.attr.deps
|
||||
if hasattr(ctx.rule.attr, "data"):
|
||||
all_deps += ctx.rule.attr.data
|
||||
if hasattr(ctx.rule.attr, "roots"):
|
||||
all_deps += ctx.rule.attr.roots
|
||||
for dep in all_deps:
|
||||
direct.append(dep.label)
|
||||
if hasattr(dep, "tf_collected_deps"):
|
||||
|
|
@ -2083,7 +2085,7 @@ def _collect_deps_aspect_impl(target, ctx):
|
|||
return struct(tf_collected_deps = depset(direct = direct, transitive = transitive))
|
||||
|
||||
collect_deps_aspect = aspect(
|
||||
attr_aspects = ["deps", "data"],
|
||||
attr_aspects = ["deps", "data", "roots"],
|
||||
implementation = _collect_deps_aspect_impl,
|
||||
)
|
||||
|
||||
|
|
@ -2279,10 +2281,13 @@ _append_init_to_versionscript = rule(
|
|||
def pywrap_tensorflow_macro(
|
||||
name,
|
||||
srcs = [],
|
||||
roots = [],
|
||||
deps = [],
|
||||
dynamic_deps = [],
|
||||
static_deps = [],
|
||||
copts = [],
|
||||
version_script = None,
|
||||
**kwargs):
|
||||
win_def_file = None):
|
||||
"""Builds the pywrap_tensorflow_internal shared object."""
|
||||
module_name = name.split("/")[-1]
|
||||
|
||||
|
|
@ -2292,7 +2297,7 @@ def pywrap_tensorflow_macro(
|
|||
|
||||
# TODO(b/137885063): tf_cc_shared_object needs to be cleaned up; we really
|
||||
# shouldn't be passing a name qualified with .so here.
|
||||
cc_library_name = cc_library_base + ".so"
|
||||
cc_shared_library_name = cc_library_base + ".so"
|
||||
cc_library_pyd_name = "/".join(
|
||||
name.split("/")[:-1] + ["_" + module_name + ".pyd"],
|
||||
)
|
||||
|
|
@ -2328,12 +2333,7 @@ def pywrap_tensorflow_macro(
|
|||
"$(location %s.lds)" % vscriptname,
|
||||
],
|
||||
})
|
||||
extra_deps += select({
|
||||
clean_dep("//tensorflow:windows"): [],
|
||||
"//conditions:default": [
|
||||
"%s.lds" % vscriptname,
|
||||
],
|
||||
})
|
||||
additional_linker_inputs = if_windows([], otherwise = ["%s.lds" % vscriptname])
|
||||
|
||||
# Due to b/149224972 we have to add libtensorflow_framework.so
|
||||
# as a dependency so the linker doesn't try and optimize and
|
||||
|
|
@ -2347,8 +2347,8 @@ def pywrap_tensorflow_macro(
|
|||
],
|
||||
)
|
||||
|
||||
tf_cc_shared_object(
|
||||
name = cc_library_name,
|
||||
tf_cc_shared_library(
|
||||
name = cc_shared_library_name,
|
||||
srcs = srcs,
|
||||
# framework_so is no longer needed as libtf.so is included via the extra_deps.
|
||||
framework_so = [],
|
||||
|
|
@ -2359,8 +2359,12 @@ def pywrap_tensorflow_macro(
|
|||
]),
|
||||
linkopts = extra_linkopts,
|
||||
linkstatic = 1,
|
||||
roots = roots,
|
||||
deps = deps + extra_deps,
|
||||
**kwargs
|
||||
dynamic_deps = dynamic_deps,
|
||||
static_deps = static_deps,
|
||||
win_def_file = win_def_file,
|
||||
additional_linker_inputs = additional_linker_inputs,
|
||||
)
|
||||
|
||||
# When a non-versioned .so is added as a 'src' to a bazel target, it uses
|
||||
|
|
@ -2376,14 +2380,14 @@ def pywrap_tensorflow_macro(
|
|||
name_os = pattern % (cc_library_base, "")
|
||||
native.genrule(
|
||||
name = name_os + "_rule",
|
||||
srcs = [":" + cc_library_name],
|
||||
srcs = [":" + cc_shared_library_name],
|
||||
outs = [name_os],
|
||||
cmd = "cp $< $@",
|
||||
)
|
||||
|
||||
native.genrule(
|
||||
name = "gen_" + cc_library_pyd_name,
|
||||
srcs = [":" + cc_library_name],
|
||||
srcs = [":" + cc_shared_library_name],
|
||||
outs = [cc_library_pyd_name],
|
||||
cmd = "cp $< $@",
|
||||
)
|
||||
|
|
@ -2408,7 +2412,7 @@ def pywrap_tensorflow_macro(
|
|||
srcs_version = "PY3",
|
||||
data = select({
|
||||
clean_dep("//tensorflow:windows"): [":" + cc_library_pyd_name],
|
||||
"//conditions:default": [":" + cc_library_name],
|
||||
"//conditions:default": [":" + cc_shared_library_name],
|
||||
}),
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user