-
Notifications
You must be signed in to change notification settings - Fork 3.8k
[OpenCL] Introduction of weights on buffers #13563
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
Conversation
echuraev
left a comment
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.
In general LGTM. Several minor comments
| std::string scope = Scope(ttype->shape, GetVirtualDevice(GetRef<Expr>(call))); | ||
| if (expr_attrib.as<Conv2DAttrs>() || expr_attrib.as<Conv2DWinogradAttrs>()) | ||
| { | ||
| if ((i == 1) && |
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.
nit: Create local variable, e.g.: const int weights_pos = 1;.
|
|
||
| for (auto& arg : call->args) { | ||
| Visit(arg); | ||
| if (std::find(buffers_args.begin(), buffers_args.end(), arg) == buffers_args.end()) |
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.
nit: Probably we can change type of buffers_args to unordered_set? In this case, the search should be faster.
The same comment for buffers_params.
echuraev
left a comment
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.
LGTM. Thanks
* introduced support for weights on buffers * update winograd schedule for support buffers on weights * Updated the logic of using buffers * Update texture annotation pass * now weights on buffers support only in fp32 case * update opencl tests for weights on buffers * fix lint * fix lint * fix lint * apply comments * fix lint * fix lint
* introduced support for weights on buffers * update winograd schedule for support buffers on weights * Updated the logic of using buffers * Update texture annotation pass * now weights on buffers support only in fp32 case * update opencl tests for weights on buffers * fix lint * fix lint * fix lint * apply comments * fix lint * fix lint
This PR introduces the use of convolution weights on buffers rather than textures.