什么时候支持 compile_to_c 向量类型?

When will compile_to_c with vector types be supported?

什么时候支持 compile_to_c 矢量类型?

我在 conv_layer.cpp:93 行添加了调用 Pipeline::compile_to_c() 以获取由 halide 生成的 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:

处导致断言错误

Can't use vector types when compiling to C (yet)

它的优先级非常低 - 需要大量工作才能使其可移植,而且回报不多。与通过 LLVM 后端生成的代码相比,C 后端生成的代码编译速度更慢 运行,因此它不适合实际获取 high-performance 代码。我不完全确定,但我相信它更慢,因为我们不能像在 LLVM 位码中那样轻松地在发出的 C 代码中表达所有别名和对齐信息。