Когда будет поддерживаться compile_to_c с векторными типами?
Когда будет compile_to_c
с векторными типами поддерживаться?
Я добавил вызов Pipeline::compile_to_c()
at conv_layer.cpp: 93 строка для получения кода C, сгенерированного halide.
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 (пока)
1 ответ
Это очень низкий приоритет - чтобы сделать его портативным, потребовалось бы много работы, и это не принесло бы больших результатов. Код, сгенерированный бэкендом C, медленнее компилируется и медленнее запускается, чем код, сгенерированный с помощью бэкэндов LLVM, поэтому он не подходит для фактического получения высокопроизводительного кода. Я не совсем уверен, но я считаю, что это медленнее, потому что мы не можем легко выразить всю информацию о псевдонимах и выравнивании в испускаемом C-коде, который мы можем в LLVM-битовом коде.