本文介绍如何离线编译隐语的spu库,前提是依赖都已经下载好。
主要使用
load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
以及http_archive中的url可以指定为本地地址。
注意最好根据CPU和内存设置环境变量,例如
export BAZEL_MAX_JOBS=8
export YACL_NUM_THREADS=8
下面给出/spu/bazel/repositories.bzl示例。
# Copyright 2021 Ant Group Co., Ltd.
#
# 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
#
# http://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("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
def spu_deps():
_rules_cuda()
_rules_proto_grpc()
_bazel_platform()
_com_github_xtensor_xtensor()
_com_github_xtensor_xtl()
_com_github_openxla_xla()
_com_github_pybind11_bazel()
_com_github_pybind11()
_com_intel_hexl()
_com_github_emptoolkit_emp_tool()
_com_github_emptoolkit_emp_ot()
_com_github_facebook_zstd()
_com_github_microsoft_seal()
_com_github_eigenteam_eigen()
_com_github_nvidia_cutlass()
_yacl()
_libpsi()
def _yacl():
local_repository(
name = "yacl",
path = "/repository/yacl",
)
def _libpsi():
maybe(
http_archive,
name = "psi",
ur