According to the doc,
Variables Because there is no variables in HalideIR, all the mutatable variables will be lowered to an array with size 1. It takes the first store of a variable as its declaration.
When I write hybrid sciprt for CUDA backend, the intermediate variables are translated to vars with shape (1,) in global scope and caused error
Check failed: scope != "global" (global vs. global)
A workaround might be using
allocate to manually create some variable. But I think better we don’t need to create these variables if they only serve as intermediate result and we don’t write to them