- 是否有其他方法解决这个问题?
可以尝试在llvm-config
的路径下创建一个名为llvm-config.cfg
的配置文件,然后在其中添加以下内容:
[Target.RISCV]
ABIName = "lp64d"
这将为RISC-V目标设置默认的双浮点ABI。然后,确保在运行TensorFlow时使用正确的llvm-config
路径。例如,如果llvm-config
位于/opt/llvm/bin
,则可以在运行TensorFlow之前设置环境变量LLVM_CONFIG_PATH
:
export LLVM_CONFIG_PATH=/opt/llvm/bin
- 如何修复:执行genrule //tensorflow/python/tools:aot_compiled_x_matmul_y_small_gen失败
请检查生成规则中的错误信息,并根据错误提示进行相应的修复。可能需要更新代码中的某些部分,以便正确处理生成的中间表示。
- 如何修复:分析目标xxx时遇到错误
同样,请检查与目标相关的日志输出,查找错误信息并进行相应的修复。可能需要更新代码中的某些部分,以便正确处理生成的中间表示。
4条答案
按热度按时间xpszyzbs1#
这个问题是由于软浮点和双浮点ABI不兼容导致的。由于ABI之间的不兼容性,如果你尝试将软浮点模块与双浮点模块链接在一起,链接器将无法解析这两个模块之间的符号。这将导致这个错误。请尝试使用相同的浮点ABI编译所有模块,以避免这个问题。谢谢!
bqujaahr2#
这个问题是由于软浮点和双浮点ABI不兼容导致的。由于这两个ABI之间的不兼容性,如果你尝试将软浮点模块与双浮点模块链接在一起,链接器将无法解析两个模块之间的符号。这将导致这个错误。请尝试使用相同的浮点ABI编译所有模块以避免这个问题。谢谢!
感谢你的回复。
我已经在打开这个问题之前找到了根本原因,并有一个快速的解决方案。
我的问题是:
我在saved_model_cli.py和saved_model_aot_compile.py中没有找到从llvm传递abi信息的方法(也许是"target_features"选项?),或者我在测试目标//tensorflow/python/...方面漏掉了什么?
也许你可以在这里看一眼
yb3bgrhw3#
请查看以下解决方法如下:
target_features
选项将 ABI 信息传递给 llvm。target_features 选项允许您指定用于编译已保存模型的浮点 ABI。谢谢!
mum43rcc4#
感谢您的回复!请查看以下解决方法:
target_features
选项将 ABI 信息传递给 llvm。target_features 选项允许您指定用于编译已保存模型的浮点 ABI。谢谢!
@sushreebarsa 非常感谢。
我已经尝试了您的解决方法(基于 v2.13.1):