Skip to content

Pool3d fwd#697

Merged
zjing14 merged 48 commits into
developfrom
pool3d_fwd
May 24, 2023
Merged

Pool3d fwd#697
zjing14 merged 48 commits into
developfrom
pool3d_fwd

Conversation

@rocking5566
Copy link
Copy Markdown
Collaborator

@rocking5566 rocking5566 commented May 5, 2023

Input: [N, Di, Hi, Wi, C]
Apply pooling window [Z, Y, X]
Output: [N, Do, Ho, Wo, C]

Implementation:
Transform axis of d, h, w into
[D] -> [Z, D'], where tensor stride = [1, window_stride_d]
[H] -> [Y, H'], where tensor stride = [1, window_stride_h]
[W] -> [X, W'], where tensor stride = [1, window_stride_w]

Hence, we can transform [N, Do, Hi, Wi, C] into [N, Z, Do, Y, Ho, X, Wo, C]
Then, we can convert this problem into reduction,
where input = [N, Z, Do, Y, Ho, X, Wo, C], reduced dimension is [Z, Y, X], invarient dimension is [N, Do, Ho, Wo, C]

PS:

  1. We could implement generic pooling in future PR, this PR aim to provide pool3d
  2. We need to return the index with respect to index of input tensor instead of filter. Hence, I modify the threadwise reduction to return the global index (index of input tensor)

@rocking5566 rocking5566 added the WIP label May 5, 2023
@rocking5566 rocking5566 requested review from qianfengz and zjing14 May 5, 2023 17:39
@rocking5566 rocking5566 removed the WIP label May 5, 2023
Comment thread include/ck/tensor_operation/gpu/device/impl/device_pool3d_fwd_ndhwc_ndhwc.hpp Outdated
Comment thread include/ck/tensor_operation/gpu/device/impl/device_pool2d_fwd_nhwc_nhwc.hpp Outdated
Comment thread include/ck/tensor_operation/gpu/device/impl/device_pool3d_fwd_ndhwc_ndhwc.hpp Outdated
Comment thread include/ck/tensor_operation/gpu/device/impl/device_pool3d_fwd_ndhwc_ndhwc.hpp Outdated
Comment thread include/ck/tensor_operation/gpu/device/impl/device_pool2d_fwd_nhwc_nhwc.hpp Outdated
Comment thread example/48_pool3d_fwd/pool3d_fwd_fp16.cpp Outdated
@rocking5566 rocking5566 removed the WIP label May 18, 2023
Comment thread client_example/19_pool_fwd/avg_pool3d_fwd.cpp Outdated
Comment thread client_example/19_pool_fwd/avg_pool3d_fwd.cpp Outdated
Comment thread client_example/19_pool_fwd/avg_pool3d_fwd.cpp
Comment thread client_example/19_pool_fwd/max_pool2d_fwd.cpp
Comment thread include/ck/tensor_operation/gpu/device/device_pool_fwd.hpp Outdated
Comment thread include/ck/tensor_operation/gpu/device/device_pool_fwd.hpp Outdated
Comment thread profiler/src/profile_avg_pool2d_fwd.cpp Outdated
Comment thread profiler/src/profile_max_pool3d_fwd.cpp
Comment thread profiler/src/profile_avg_pool2d_fwd.cpp Outdated
@rocking5566 rocking5566 requested a review from qianfengz May 22, 2023 11:26
Comment thread include/ck/tensor_operation/gpu/device/device_pool_fwd.hpp Outdated
@rocking5566 rocking5566 requested a review from qianfengz May 23, 2023 11:43
@zjing14 zjing14 merged commit 76ec008 into develop May 24, 2023
@rocking5566 rocking5566 deleted the pool3d_fwd branch December 14, 2023 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants