You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using JAX (with an Nvidia GPU), which wraps OpenXLA's convolution. If I understand the OpenXLA docs correctly, it expects the memory format for convolutions to be channel-first (NCHW), which is different from Nvidia's recommendation (NHWC). Could someone elaborate on this? Does this mean OpenXLA will perform sub-optimally?
Okay, I've been testing more carefully and found that there's circumstances where OpenXLA can handle the NHWC format perfectly fine without introducing any extra transposes, but it seems to rely on the exact parameters of the convolution. With other parameters, I'm getting unnecessary extra transposes, but I don't know how much of this behaviour might be due to JAX.
Here's an example where a NHWC convolution does 4 transposes in total:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hey everyone!
I'm using JAX (with an Nvidia GPU), which wraps OpenXLA's convolution. If I understand the OpenXLA docs correctly, it expects the memory format for convolutions to be channel-first (NCHW), which is different from Nvidia's recommendation (NHWC). Could someone elaborate on this? Does this mean OpenXLA will perform sub-optimally?
Excuse the naive question... thanks.
All reactions