Когда будет поддерживаться 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-битовом коде.

Другие вопросы по тегам