-
Notifications
You must be signed in to change notification settings - Fork 244
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
2D and 3D NGCHW forward convolution solvers based on CK instances #3616
base: develop
Are you sure you want to change the base?
Conversation
@iq136boy Please add also |
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.
Review comments on #3617 are also applicable to this PR.
#if MIOPEN_BACKEND_HIP && MIOPEN_USE_COMPOSABLEKERNEL | ||
|
||
using InLayoutNCHW = ck::tensor_layout::convolution::NGCDHW; | ||
using WeiLayout = ck::tensor_layout::convolution::GKZYXC; |
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.
Layout for the weights needs to be GKCZYX (same as WRW)
wei_lengths = {G, K, C, Z, Y, X}; | ||
|
||
in_strides = {Di * Hi * Wi * C, Di * Hi * Wi * G * C, Di * Hi * Wi, Hi * Wi, Wi, 1}; | ||
out_strides = {Do * Ho * Wo * K, Do * Ho * Wo * G * K, Do * Ho * Wo, Ho * Wo, Wo, 1}; | ||
wei_strides = {K * Z * Y * X * C, Z * Y * X * C, 1, Y * X * C, X * C, C}; |
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.
Just reminder to flip lengths and strides once layout changes.
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.
Also, very surprised this isn't causing errors.
Looks like we are assuming the data is in NHWC layout, but it'll come in as NCHW layout from MIOpen side.
I think we need to double check the verification is working properly for these tests. |
Implement 2d and 3d NGCHW forward convolution solvers base on CK NGCHW layout instances.
The solver utilize the fused CK convolution and layout transform kernels to avoid the tensor layout transform in MIOpen side.