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
|
%global _empty_manifest_terminate_build 0
|
||||||
Name: tensorflow
|
Name: tensorflow
|
||||||
Version: 2.12.1
|
Version: 2.12.1
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: An Open Source Machine Learning Framework for Everyone
|
Summary: An Open Source Machine Learning Framework for Everyone
|
||||||
License: Apache License 2.0
|
License: Apache License 2.0
|
||||||
URL: https://www.tensorflow.org/
|
URL: https://www.tensorflow.org/
|
||||||
@ -10,6 +10,7 @@ Source1: external.tar.bz2.partaa
|
|||||||
Source2: external.tar.bz2.partab
|
Source2: external.tar.bz2.partab
|
||||||
Source3: external.tar.bz2.partac
|
Source3: external.tar.bz2.partac
|
||||||
Source4: aarch64_external_files.patch
|
Source4: aarch64_external_files.patch
|
||||||
|
Source5: riscv64_external_files.patch
|
||||||
Patch0: modify-deps-on-libclang-gcsfs-gast.patch
|
Patch0: modify-deps-on-libclang-gcsfs-gast.patch
|
||||||
Patch1: fix-boringssl-compile.patch
|
Patch1: fix-boringssl-compile.patch
|
||||||
Requires: python3-future python3-numpy python3-six python3-astunparse python3-google-pasta python3-opt-einsum
|
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
|
%ifarch aarch64
|
||||||
patch -d ${extdir} -p0 < %{SOURCE4}
|
patch -d ${extdir} -p0 < %{SOURCE4}
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch riscv64
|
||||||
|
patch -d ${extdir} -p0 < %{SOURCE5}
|
||||||
|
%endif
|
||||||
ln -sfn ${instdir}/embedded_tools ${extdir}/external/bazel_tools
|
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 "*/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
|
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
|
mkdir -p ${HOME}/.local/bin
|
||||||
ln -s -f -T $(command -v python3) ${HOME}/.local/bin/python
|
ln -s -f -T $(command -v python3) ${HOME}/.local/bin/python
|
||||||
export PATH=${HOME}/.local/bin:$PATH
|
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
|
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
|
./bazel-bin/tensorflow/tools/pip_package/build_pip_package dist
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -67,6 +76,9 @@ bazel --output_user_root=`pwd`/../output_user_root build --nofetch --host_copt=-
|
|||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
|
||||||
%changelog
|
%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
|
* 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
|
* 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