我想使用Halide for ARM A53(aarch64)目标进行霓虹灯矢量化。
但我无法弄清楚如何创建Target对象。此外,我在Target.h中找不到具有霓虹功能的aarch64目标。
我测试的以下代码在A53目标上运行,但生成的代码不包含氖指令。
Target target("arm-64-linux"); // is it right?
Buffer<uint16_t> input(640,480);
Var x,y;
Func brighter("brighter");
brighter(x,y) = input(x,y) + 100;
brighter.estimate(x, 0, 640).
estimate(y, 0, 480);
Pipeline p(brighter);
p.auto_schedule(target);
p.compile_to_static_library("./lib_dummy", {input}, "", target);
答案 0 :(得分:3)
arm-64是Halide用于aarch64的东西,所以你的目标很好。要使用霓虹灯指令,您需要对某些内容进行矢量化。不确定自动调度程序是否正在执行此操作(应该是!)。尽量不要自动调度,而只是说:
brighter.vectorize(x, 8);