Можно ли запланировать, когда ошибка говорит, что функция запланирована в строке? - PullRequest
0 голосов
/ 06 ноября 2019

Я попытался запланировать следующий код, и он показывает ошибку:

"Бессмысленно разбивать переменную x функции A0 $ 0 на x.x_outer * 4 + x.x_inner, потому что A0 $ 0 запланировано встроенным. "

    Halide::Expr x0, y0, x00, y00;
    Halide::Func dx, dy;

    x0 = 1.2f*x;
    y0 = 1.7*y;
    x00 = Halide::cast<int32_t>(Halide::floor(x0));
    y00 = Halide::cast<int32_t>(Halide::floor(y0));

    Value(x,y,c) = img(x00+1,y00,c)*0.5f +
                   img(x00,y00+1,c)*0.7f;

    Halide::Func A0;
    A0(x, y, c) = x*Value(x,y,c);

    Var x_outer, y_outer, x_inner, y_inner, tile_index;
    A0.tile(x, y, x_outer, y_outer, x_inner, y_inner, 4, 4);

    Value.compute_at(A0, x_outer);

    Halide::Buffer<float> N = A0.realize(16, 16);

можно ли это запланировать?

...