如何使用CodeGen_LLVM调试卤化物内部错误



我在查找带有卤化物的 JIT 编译管道报告的错误消息的来源时遇到问题。

日志消息为:

Internal Error at Halide-release_2019_08_27/halide/src/CodeGen_LLVM.cpp:2815 triggered by user code at :
Condition failed: append_string:

以下行的LLVM_code为:

llvm::Function *append_string  = module->getFunction("halide_string_to_string");
internal_assert(append_string);

我在 Ubuntu 2019上使用2019_08_27的卤化物发布版本18.04。

管道运行没有任何错误,直到有人想使用 Halide::p rint(( 进行调试。 我已经检查了一个小型测试管道,打印似乎有效。

我现在的问题是在一个非常复杂的管道中找到我们的错误。有人可以解释这个错误的来源以及我需要在我的代码中检查什么来解决这个问题吗?

提前谢谢。

这意味着在运行时中找不到函数"halide_string_to_string",这对于CPU目标来说非常奇怪。嗯,我想知道您是否正在尝试在 GPU 或 DSP 上安排的 Func 中使用打印?我很容易想象被打破。

最新更新