1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#include "Halide.h"
using namespace Halide;
void check_error(bool error) {
if (!error) {
std::cout << "There was supposed to be an error!\n";
exit(1);
}
}
int main(int argc, char **argv) {
// test whether normal cases work
{
// Test vectorized tile
Var i, j;
Func f;
f(i, j) = i * j;
Var io, jo;
f.tile({i, j}, {io, jo}, {i, j}, {8, 8}, {TailStrategy::RoundUp, TailStrategy::RoundUp});
f.realize({128, 128});
}
{
// Test vectorized tile with default tail strategy
Var i, j;
Func f;
f(i, j) = i * j;
Var io, jo;
f.tile({i, j}, {io, jo}, {i, j}, {8, 8});
f.realize({128, 128});
}
{
// Test Stage.tile with default tail strategy
Var i, j;
Func f;
f(i, j) = 0;
f(i, j) += i * j;
Var io, jo;
f.update(0).tile({i, j}, {io, jo}, {i, j}, {8, 8});
f.realize({128, 128});
}
printf("Success!\n");
return 0;
}
|