halide / Halide

a language for fast, portable data-parallel computation
https://halide-lang.org
Other
5.92k stars 1.07k forks source link

Should we add a template for making repros? #7955

Open mcourteaux opened 1 year ago

mcourteaux commented 1 year ago

I spent quite some time writing out #7946 with the generator and Makefile. It would be nice to have an empty generator with a C++ main-file, packaged together with a Makefile, much like how every app is structured, for people to take and write a MWE of some problem they want to describe.

I'm currently facing something I'd like to turn into a question/bug report with a generator, but I'd again have to go through the trouble of setting everything up (luckily I can base myself on what I did in #7946).

Or am I missing more elegant ways of making a repro? I'm thinking of all the bugs @TH3CHARLie reported, like #7890, #7827, and many others. The file is self-contained, except for the compilation step. Am I missing a simple obvious one-liner that I should memorize (or should be in the README)? One problem with the JIT-compiled repros, is that the extra generator options are not available (such as generating the HTML Stmt file).

TH3CHARLie commented 1 year ago

Not sure if I fully understand your question here, but as for my repros, the quick is to put them as a new file in test/correctness and you should be able to repro the bug I reported. This, however, has no way to provide custom JIT flags or generator params

mcourteaux commented 1 year ago

I see, correctness tests are easily added as a file in test/correctness, thanks for that tip!

My current thing I was looking at was a problem where the generated PTX code is far from optimal, and I wonder if Halide is outputting the wrong LLVM bitcode to do that. Just demonstrating that with a generator is what I need here. I don't have any correctness or error condition to check against.