Ensure all runtime plugins have correct SONAME values, fixing issues with prebuilt PJRT plugins.

This commit is contained in:
Tarry Singh 2024-03-11 10:15:22 +00:00
parent 8a25b1eb74
commit 980f1b17fb
3 changed files with 19 additions and 14 deletions

View File

@ -1,24 +1,34 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
_BUILD = """\ _BUILD_LINUX = """\
load("@zml//bazel:cc_import.bzl", "cc_import")
cc_import( cc_import(
name = "libpjrt_cpu", name = "libpjrt_cpu",
shared_library = "libpjrt_cpu.{ext}", shared_library = "libpjrt_cpu.so",
visibility = ["//visibility:public"], soname = "libpjrt_cpu.so",
visibility = ["@zml//runtimes/cpu:__subpackages__"],
)
"""
_BUILD_DARWIN = """\
cc_import(
name = "libpjrt_cpu",
shared_library = "libpjrt_cpu.dylib",
visibility = ["@zml//runtimes/cpu:__subpackages__"],
) )
""" """
def _cpu_pjrt_plugin_impl(mctx): def _cpu_pjrt_plugin_impl(mctx):
http_archive( http_archive(
name = "libpjrt_cpu_linux_amd64", name = "libpjrt_cpu_linux_amd64",
build_file_content = _BUILD.format(ext = "so"), build_file_content = _BUILD_LINUX,
sha256 = "0f2cb204015e062df5d1cbd39d8c01c076ab2b004d0f4f37f6d5e120d3cd7087", sha256 = "0f2cb204015e062df5d1cbd39d8c01c076ab2b004d0f4f37f6d5e120d3cd7087",
url = "https://github.com/zml/pjrt-artifacts/releases/download/v5.0.0/pjrt-cpu_linux-amd64.tar.gz", url = "https://github.com/zml/pjrt-artifacts/releases/download/v5.0.0/pjrt-cpu_linux-amd64.tar.gz",
) )
http_archive( http_archive(
name = "libpjrt_cpu_darwin_arm64", name = "libpjrt_cpu_darwin_arm64",
build_file_content = _BUILD.format(ext = "dylib"), build_file_content = _BUILD_DARWIN,
sha256 = "2ddb66a93c8a913e3bc8f291e01df59aa297592cc91e05aab2dd4813884098cb", sha256 = "2ddb66a93c8a913e3bc8f291e01df59aa297592cc91e05aab2dd4813884098cb",
url = "https://github.com/zml/pjrt-artifacts/releases/download/v5.0.0/pjrt-cpu_darwin-arm64.tar.gz", url = "https://github.com/zml/pjrt-artifacts/releases/download/v5.0.0/pjrt-cpu_darwin-arm64.tar.gz",
) )

View File

@ -65,6 +65,7 @@ cc_import(
"dlopen": "zmlxrocm_dlopen", "dlopen": "zmlxrocm_dlopen",
}, },
shared_library = "libpjrt_rocm.so", shared_library = "libpjrt_rocm.so",
soname = "libpjrt_rocm.so",
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"@comgr//:amd_comgr", "@comgr//:amd_comgr",

View File

@ -1,14 +1,8 @@
load("@bazel_skylib//rules:copy_file.bzl", "copy_file") load("@zml//bazel:cc_import.bzl", "cc_import")
copy_file(
name = "libpjrt_tpu_so",
src = "libtpu/libtpu.so",
out = "libpjrt_tpu.so",
allow_symlink = True,
)
cc_import( cc_import(
name = "libpjrt_tpu", name = "libpjrt_tpu",
shared_library = ":libpjrt_tpu_so", shared_library = "libtpu/libtpu.so",
soname = "libpjrt_tpu.so",
visibility = ["@zml//runtimes/tpu:__subpackages__"], visibility = ["@zml//runtimes/tpu:__subpackages__"],
) )