I'm working on a Halide project processing bursts of images. My initial data set is 9 bursts of images of 4208*3120 pixel, in format uint16_t
. I got the constant_allocation_size
error during run time:
"Error:
Total size for allocation layer_0 is constant but exceeds 2^31 - 1.
Aborted (core dumped)".
where layer_0 is a down-sample function scheduled with compute_root();
The sample code is like this:
Func my_process(Func input, ...){
<do something here...>
output.compute_root().parallel(y).vectorize(x, 16);
}
Func raw2gray(Func input, std::string name){
...
compute_root();
}
Func imgs_mirror = BoundaryConditions::mirror_interior(imgs, 0, imgs.width(), 0, imgs.height());
Func layer_0 = raw2gray(imgs_mirror, "layer_0");
Func out_imgs = my_process(layer_0, ...);
Does anyone know how to shrink my constant allocation size or how to increase this 2^31-1 upper limit?