MIOpen
MIOpen copied to clipboard
Pooling API problems
Right now, we have several problems with the current API design. I would post the as comments bellow to ease later referencing as suggested by @atamazov.
X tensor descriptor, handle and direction are missing in GWSS. This leads to the following issues:
- It is impossible to properly reuse solver methods.
- We do not know x descriptor, which makes us calculate it for a transpose buffer.
- Handle is required to properly fetch memory alignment from GPU to calculate offset of transpose regions in the workspace.
Some arguments of forward/backward functions are not used and generally are misleading, e.g. #1357.
Mask/indices in the workspace are interpreted as kind of a buffer everywhere but is positioned in the workspace. This leads to complications in the transpose branch but is avoidable as a problem to some extent.
@DrizztDoUrden Is this fixed with latest ROCm 6.0.2 (HIP 6.0.32831)? Thanks!
@ppanchad-amd No and I am not sure we want to fix it in foreseeable future. This would be a breaking API change and would require at the very least significant value to do, like a massive work on pooling that would entirely support find 1.0 planned soon enough. The issue exists mostly for documentation reasons so that people could easily find it if they have described problems and confirm their susception without wasting much time reading through every related bit of code as I did when I was reimplementing its internals.