【发布时间】:2017-01-16 11:56:53
【问题描述】:
Halide::sum 的打印循环嵌套并不等同于 tutorial 中所写的最佳循环。
此代码为零初始化和求和提供了单独的循环。
Halide::Func f("f");
Halide::Var x("x");
Halide::RDom r(0, 3);
f(x) = Halide::sum(r + x);
f.print_loop_nest();
f.realize(10);
输出:
produce f:
for x:
produce sum:
for x:
sum(...) = ...
for x:
for r4:
sum(...) = ...
consume sum:
f(...) = ...
可以融合这个循环还是不影响性能?谢谢!
更新:像这样熔断:
produce f:
for x:
produce sum:
for x:
sum(...) = ...
for r4:
sum(...) = ...
consume sum:
f(...) = ...
【问题讨论】:
标签: sum nested-loops reduction halide