何时支持带有矢量类型的compile_to_c
?
我在conv_layer.cpp:93行添加了调用Pipeline::compile_to_c()
以获取由卤化物生成的C代码。
std::vector<Argument> empty_arg;
// p is defined like "Pipeline p(f_ReLU);"
p.compile_to_c("conv_layer.out.cpp", empty_arg, "f_ReLU");
构建conv_layer.cpp
然后运行它会导致CodeGen_C.cpp#212处的断言错误:
编译为C(尚未)时无法使用矢量类型
答案 0 :(得分:1)
它的优先级非常低 - 要让它变得便携,并且收益不高,需要做很多工作。与通过LLVM后端生成的代码相比,C后端生成的代码编译速度慢,运行速度慢,因此不适合实际获取高性能代码。我不完全确定,但我认为它速度较慢,因为我们无法在LLVM bitcode中轻松表达发出的C代码中的所有别名和对齐信息。