# tensorflow-riscv **Repository Path**: gice/tensorflow-riscv ## Basic Information - **Project Name**: tensorflow-riscv - **Description**: 在riscv上编译tensorflow - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2022-05-06 - **Last Updated**: 2024-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 内存问题 需要打开swap,把交换内存开到16G以上,不然编译过程会报错jvm内存不足。 ## Bazel 编译命令 Bazel 是一个通过BUID文件组织编译的文件结构,并自动生成编译指令的构建工具。 Bazel遇到的第一个问题是platform问题,找不到对应cpu的gcc的编译工具链,需要通过指定--extra_execution_platforms=//:myplatform后解决。 Bazel第二个问题是gcc的设置问题,通过设置 --cxxopt="--std=c++14" --conlyopt=-std=gnu99 解决。 Bazel第三个问题是aws依赖问题,需要指定--config=noaws,不然会报错找不到aws相关的包。 最终的bazel编译命令如下: bazel --output_user_root=/home/abuild/rpmbuild/BUILD/tensorflow-2.3.1/../output_user_root build --config=noaws --cxxopt="--std=c++14" --conlyopt=-std=gnu99 --verbose_failures --incompatible_enable_cc_toolchain_resolution --toolchain_resolution_debug --cpu=riscv64 --extra_execution_platforms=//:myplatform //tensorflow/tools/pip_package:build_pip_package ## BUILD文件修改 修改bazel的各个BUILD文件,加入对riscv64的支持 ## 依赖包boringssl 问题 报错:Unknown target CPU Must define either OPENSSL_32_BIT or OPENSSL_64_BIT 修改base.h,增加以下内容后解决: #elif defined(__riscv__) || defined(__riscv) #if __riscv_xlen == 32 #define OPENSSL_32_BIT #elif __riscv_xlen == 64 #define OPENSSL_64_BIT ## 依赖包upb 问题 upb在BUILD文件中打开了Werror选项,导致所有的warrning都按错Error处理。