-
Notifications
You must be signed in to change notification settings - Fork 63
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
Number proxies #250
base: main
Are you sure you want to change the base?
Number proxies #250
Conversation
@@ -595,6 +595,9 @@ def proxify(self, value: WrappedValue) -> Any: | |||
co: CACHE_OPTIONS = get_cache_option() | |||
if co is CACHE_OPTIONS.CONSTANT_VALUES: | |||
self.add_constraint((clang.check_tensor_shape_and_metadata, p_orig)) | |||
elif co is CACHE_OPTIONS.SYMBOLIC_VALUES: |
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.
What is our medium term plan w.r.t. defaul caching? If we need this for correctly handling #231 , it would seem that symbolic values should be the default but that in turn would mean that we want to have it work for our supported use cases.
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.
I'm hoping that #231 wouldn't need to the whole enable CACHE_OPTIONS.SYMBOLIC_VALUES
thing. Looks like #231 has passed all CI, which feels promising.
The first step of this is to get number proxies to be plumbed through, I think that might be helpful for #231.
In terms of dynamic shape, we can slowly expanding its support.
Start off with allowing scalar input as number proxies, while still requiring tensor to be constant shape. I'm trying to figure out how/where to properly insert prologue_trace guard. Right now considering doing that from executor. i.e. nvfuser would require reduction dim(s) to be baked in as constant, while torchex doesn't care.
I'll try to come up with a design doc for review.
Just adding anote to myself. nvfuserex trace looked a bit misleading:
It looks like it's taking a dynamic reduction axis, but it's just baked in as constants. Similarly,
Similarly, output tensor |
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
…to number_proxies_is_not_a_number
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
7a081d1
to
760fc1f
Compare
for more information, see https://pre-commit.ci
Note this one is still on-going. |
Before submitting
What does this PR do?
Fixes # (issue).
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃