Add support for riscv64
This commit is contained in:
parent
ce686e74e7
commit
2d0614e224
163
riscv64_external_files.patch
Normal file
163
riscv64_external_files.patch
Normal file
@ -0,0 +1,163 @@
|
||||
diff -Nurp external-x86_64/go_sdk/BUILD.bazel external/go_sdk/BUILD.bazel
|
||||
--- external-x86_64/go_sdk/BUILD.bazel 2023-08-28 15:08:25.000000000 +0800
|
||||
+++ external/go_sdk/BUILD.bazel 2023-08-31 11:47:56.000000000 +0800
|
||||
@@ -7,8 +7,8 @@ package(default_visibility = ["//visibil
|
||||
filegroup(
|
||||
name = "libs",
|
||||
srcs = glob(
|
||||
- ["pkg/linux_amd64/**/*.a"],
|
||||
- exclude = ["pkg/linux_amd64/**/cmd/**"],
|
||||
+ ["pkg/linux_riscv64/**/*.a"],
|
||||
+ exclude = ["pkg/linux_riscv64/**/cmd/**"],
|
||||
),
|
||||
)
|
||||
|
||||
@@ -34,7 +34,7 @@ go_sdk(
|
||||
name = "go_sdk",
|
||||
srcs = [":srcs"],
|
||||
go = "bin/go",
|
||||
- goarch = "amd64",
|
||||
+ goarch = "riscv64",
|
||||
goos = "linux",
|
||||
headers = [":headers"],
|
||||
libs = [":libs"],
|
||||
@@ -60,7 +60,7 @@ package_list(
|
||||
|
||||
declare_toolchains(
|
||||
builder = ":builder",
|
||||
- host = "linux_amd64",
|
||||
+ host = "linux_riscv64",
|
||||
sdk = ":go_sdk",
|
||||
)
|
||||
|
||||
diff -Nurp external-x86_64/go_sdk/src/internal/buildcfg/zbootstrap.go external/go_sdk/src/internal/buildcfg/zbootstrap.go
|
||||
--- external-x86_64/go_sdk/src/internal/buildcfg/zbootstrap.go 2022-07-12 23:23:16.000000000 +0800
|
||||
+++ external/go_sdk/src/internal/buildcfg/zbootstrap.go 2022-07-12 23:23:09.000000000 +0800
|
||||
@@ -12,7 +12,7 @@ const defaultGOMIPS64 = `hardfloat`
|
||||
const defaultGOPPC64 = `power8`
|
||||
const defaultGOEXPERIMENT = ``
|
||||
const defaultGO_EXTLINK_ENABLED = ``
|
||||
-const defaultGO_LDSO = `/lib64/ld-linux-x86-64.so.2`
|
||||
+const defaultGO_LDSO = `/lib/ld-linux-riscv64-lp64d.so.1`
|
||||
const version = `go1.18.4`
|
||||
const defaultGOOS = runtime.GOOS
|
||||
const defaultGOARCH = runtime.GOARCH
|
||||
diff -Nurp external-x86_64/local_config_cc/BUILD external/local_config_cc/BUILD
|
||||
--- external-x86_64/local_config_cc/BUILD 2023-08-30 14:17:49.000000000 +0800
|
||||
+++ external/local_config_cc/BUILD 2023-08-31 11:49:36.000000000 +0800
|
||||
@@ -47,15 +47,15 @@ filegroup(
|
||||
cc_toolchain_suite(
|
||||
name = "toolchain",
|
||||
toolchains = {
|
||||
- "k8|compiler": ":cc-compiler-k8",
|
||||
- "k8": ":cc-compiler-k8",
|
||||
+ "riscv64|compiler": ":cc-compiler-riscv64",
|
||||
+ "riscv64": ":cc-compiler-riscv64",
|
||||
"armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a",
|
||||
"armeabi-v7a": ":cc-compiler-armeabi-v7a",
|
||||
},
|
||||
)
|
||||
|
||||
cc_toolchain(
|
||||
- name = "cc-compiler-k8",
|
||||
+ name = "cc-compiler-riscv64",
|
||||
toolchain_identifier = "local",
|
||||
toolchain_config = ":local",
|
||||
all_files = ":compiler_deps",
|
||||
@@ -72,7 +72,7 @@ cc_toolchain(
|
||||
|
||||
cc_toolchain_config(
|
||||
name = "local",
|
||||
- cpu = "k8",
|
||||
+ cpu = "riscv64",
|
||||
compiler = "compiler",
|
||||
toolchain_identifier = "local",
|
||||
host_system_name = "local",
|
||||
@@ -80,11 +80,11 @@ cc_toolchain_config(
|
||||
target_libc = "local",
|
||||
abi_version = "local",
|
||||
abi_libc_version = "local",
|
||||
- cxx_builtin_include_directories = ["/usr/lib/gcc/x86_64-openEuler-linux/12/include",
|
||||
+ cxx_builtin_include_directories = ["/usr/lib/gcc/riscv64-openEuler-linux/12/include",
|
||||
"/usr/local/include",
|
||||
"/usr/include",
|
||||
"/usr/include/c++/12",
|
||||
- "/usr/include/c++/12/x86_64-openEuler-linux",
|
||||
+ "/usr/include/c++/12/riscv64-openEuler-linux",
|
||||
"/usr/include/c++/12/backward"],
|
||||
tool_paths = {"ar": "/usr/bin/ar",
|
||||
"ld": "/usr/bin/ld",
|
||||
@@ -110,8 +110,7 @@ cc_toolchain_config(
|
||||
"-fdata-sections"],
|
||||
dbg_compile_flags = ["-g"],
|
||||
cxx_flags = ["-std=c++0x"],
|
||||
- link_flags = ["-fuse-ld=gold",
|
||||
- "-Wl,-no-as-needed",
|
||||
+ link_flags = ["-Wl,-no-as-needed",
|
||||
"-Wl,-z,relro,-z,now",
|
||||
"-B/usr/bin",
|
||||
"-pass-exit-codes"],
|
||||
@@ -125,7 +124,7 @@ cc_toolchain_config(
|
||||
"-D__TIME__=\"redacted\""],
|
||||
coverage_compile_flags = ["--coverage"],
|
||||
coverage_link_flags = ["--coverage"],
|
||||
- supports_start_end_lib = True,
|
||||
+ supports_start_end_lib = False,
|
||||
)
|
||||
|
||||
# Android tooling requires a default toolchain for the armeabi-v7a cpu.
|
||||
diff -Nurp external-x86_64/local_config_cc/builtin_include_directory_paths external/local_config_cc/builtin_include_directory_paths
|
||||
--- external-x86_64/local_config_cc/builtin_include_directory_paths 2023-08-30 14:17:48.000000000 +0800
|
||||
+++ external/local_config_cc/builtin_include_directory_paths 2023-08-31 11:49:24.000000000 +0800
|
||||
@@ -4,9 +4,9 @@ changes to it will be reflected in the a
|
||||
paths change, Bazel will make sure to rerun the action, even though none of
|
||||
declared action inputs or the action commandline changes.
|
||||
|
||||
-/usr/lib/gcc/x86_64-openEuler-linux/12/include
|
||||
+/usr/lib/gcc/riscv64-openEuler-linux/12/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
/usr/include/c++/12
|
||||
-/usr/include/c++/12/x86_64-openEuler-linux
|
||||
+/usr/include/c++/12/riscv64-openEuler-linux
|
||||
/usr/include/c++/12/backward
|
||||
diff -Nurp external-x86_64/local_config_cc_toolchains/BUILD external/local_config_cc_toolchains/BUILD
|
||||
--- external-x86_64/local_config_cc_toolchains/BUILD 2023-08-30 14:17:45.000000000 +0800
|
||||
+++ external/local_config_cc_toolchains/BUILD 2023-08-31 11:47:52.000000000 +0800
|
||||
@@ -1,10 +1,10 @@
|
||||
load("@local_config_platform//:constraints.bzl", "HOST_CONSTRAINTS")
|
||||
|
||||
toolchain(
|
||||
- name = "cc-toolchain-k8",
|
||||
+ name = "cc-toolchain-riscv64",
|
||||
exec_compatible_with = HOST_CONSTRAINTS,
|
||||
target_compatible_with = HOST_CONSTRAINTS,
|
||||
- toolchain = "@local_config_cc//:cc-compiler-k8",
|
||||
+ toolchain = "@local_config_cc//:cc-compiler-riscv64",
|
||||
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
|
||||
)
|
||||
|
||||
diff -Nurp external-x86_64/local_config_platform/constraints.bzl external/local_config_platform/constraints.bzl
|
||||
--- external-x86_64/local_config_platform/constraints.bzl 2023-08-30 15:04:11.000000000 +0800
|
||||
+++ external/local_config_platform/constraints.bzl 2023-09-05 15:51:53.000000000 +0800
|
||||
@@ -1,6 +1,6 @@
|
||||
# DO NOT EDIT: automatically generated constraints list for local_config_platform
|
||||
# Auto-detected host platform constraints.
|
||||
HOST_CONSTRAINTS = [
|
||||
- '@platforms//cpu:x86_64',
|
||||
+ '@platforms//cpu:riscv64',
|
||||
'@platforms//os:linux',
|
||||
]
|
||||
+ENV:PATH /root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
|
||||
diff -Nurp external-x86_64/local_execution_config_platform/BUILD external/local_execution_config_platform/BUILD
|
||||
--- external-x86_64/local_execution_config_platform/BUILD 2023-08-28 15:02:02.000000000 +0800
|
||||
+++ external/local_execution_config_platform/BUILD 2023-08-31 11:47:06.000000000 +0800
|
||||
@@ -18,7 +18,7 @@ platform(
|
||||
name = "platform",
|
||||
visibility = ["//visibility:public"],
|
||||
constraint_values = [
|
||||
- "@platforms//cpu:x86_64",
|
||||
+ "@platforms//cpu:riscv64",
|
||||
"@platforms//os:linux",
|
||||
":platform_constraint",
|
||||
],
|
||||
@ -1,7 +1,7 @@
|
||||
%global _empty_manifest_terminate_build 0
|
||||
Name: tensorflow
|
||||
Version: 2.12.1
|
||||
Release: 1
|
||||
Release: 2
|
||||
Summary: An Open Source Machine Learning Framework for Everyone
|
||||
License: Apache License 2.0
|
||||
URL: https://www.tensorflow.org/
|
||||
@ -10,6 +10,7 @@ Source1: external.tar.bz2.partaa
|
||||
Source2: external.tar.bz2.partab
|
||||
Source3: external.tar.bz2.partac
|
||||
Source4: aarch64_external_files.patch
|
||||
Source5: riscv64_external_files.patch
|
||||
Patch0: modify-deps-on-libclang-gcsfs-gast.patch
|
||||
Patch1: fix-boringssl-compile.patch
|
||||
Requires: python3-future python3-numpy python3-six python3-astunparse python3-google-pasta python3-opt-einsum
|
||||
@ -47,6 +48,9 @@ tar xf external.tar.bz2 -C ${extdir}
|
||||
%ifarch aarch64
|
||||
patch -d ${extdir} -p0 < %{SOURCE4}
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
patch -d ${extdir} -p0 < %{SOURCE5}
|
||||
%endif
|
||||
ln -sfn ${instdir}/embedded_tools ${extdir}/external/bazel_tools
|
||||
for f in $(find $extdir/external -lname "*/external/*"); do OLDLINK=$(readlink $f); echo $OLDLINK; NEWLINK=${extdir}/external/${OLDLINK#*external}; ln -sf $NEWLINK $f-newlink; mv -Tf $f-newlink $f; done
|
||||
for f in $(find $extdir/external -lname "*/rpmbuild/*"); do OLDLINK=$(readlink $f); echo $OLDLINK; NEWLINK=${HOME}/rpmbuild/${OLDLINK#*rpmbuild}; ln -sf $NEWLINK $f-newlink; mv -Tf $f-newlink $f;done
|
||||
@ -56,7 +60,12 @@ for f in $(find $extdir/external -lname "*/rpmbuild/*"); do OLDLINK=$(readlink $
|
||||
mkdir -p ${HOME}/.local/bin
|
||||
ln -s -f -T $(command -v python3) ${HOME}/.local/bin/python
|
||||
export PATH=${HOME}/.local/bin:$PATH
|
||||
%ifarch riscv64
|
||||
bazel --output_user_root=`pwd`/../output_user_root build --nofetch --host_copt=-Wno-stringop-truncation //tensorflow/tools/pip_package:build_pip_package --verbose_failures --experimental_local_memory_estimate --jobs=16 \
|
||||
--define=build_with_mkl=false --define=enable_mkl=false --define=tensorflow_mkldnn_contraction_kernel=0 --define=build_with_mkl_dnn_v1_only=false --define=tensorflow_use_mkldnn=false
|
||||
%else
|
||||
bazel --output_user_root=`pwd`/../output_user_root build --nofetch --host_copt=-Wno-stringop-truncation //tensorflow/tools/pip_package:build_pip_package --verbose_failures --experimental_local_memory_estimate --jobs=16
|
||||
%endif
|
||||
./bazel-bin/tensorflow/tools/pip_package/build_pip_package dist
|
||||
|
||||
%install
|
||||
@ -67,6 +76,9 @@ bazel --output_user_root=`pwd`/../output_user_root build --nofetch --host_copt=-
|
||||
%{_bindir}/*
|
||||
|
||||
%changelog
|
||||
* Thu Dec 12 2024 Dingli Zhang <dingli@iscas.ac.cn> - 2.12.1-2
|
||||
- Add support for riscv64
|
||||
|
||||
* Tue Apr 02 2024 zhangxianting <zhangxianting@unionech.com> - 2.12.1-1
|
||||
* Increase the upper limit version of typing_extensions to fix install, typing_extensions>=3.6.6,<4.6.0 to typing_extensions>=3.6.6,<=4.10.0
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user