-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Require an autoscheduler for build_gradient_module()/GRADIENT_DESCENT #8525
base: main
Are you sure you want to change the base?
Conversation
Currently we just emit a warning... which may be hidden by CMake/Bazel. This really needs to be an error, though, because an unscheduled gradient-descent module can be immense and take ~forever to compile.
If you're asking for the derivative of an element wise thing (e.g. a generator that just does relu), then requiring an autoscheduler to run is a bit ridiculous. Is there any way to insert a manual schedule somewhere when using this build mode? Also we should really make cmake not swallow warnings. That defeats the entire purpose of warnings. |
Nope.
I'll defer to Alex on that. |
Part of the footgun here is that you can ask for this on any arbitrary Generator and we'll try our best; while looking at #8393 I just modified the Python build rules to do gradients for all the Python generators (per the discussion) and found that without an autoscheduler, my system allocated ~250GB of virtual address space. |
passing `-d 1` at the generator command line. Note that you *must* also specify | ||
an autoscheduler (via the `AUTOSCHEDULER` argument) when specifying this | ||
argument. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should check this in HalideGeneratorHelpers.cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First we should get buy-in from everyone as to whether this change is a good one.
Currently we just emit a warning... which may be hidden by CMake/Bazel. This really needs to be an error, though, because an unscheduled gradient-descent module can be immense and take ~forever to compile. (Addresses part of #8393 but not a complete fix.)