Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

[v1.x][BUGFIX] Implement oneDNN deconvolution primitives to deconvolution 2D #20107

Merged
merged 9 commits into from
May 11, 2021

Conversation

PawelGlomski-Intel
Copy link
Contributor

@PawelGlomski-Intel PawelGlomski-Intel commented Mar 31, 2021

Description

Currently, deconvolution 2D is implemented with oneDNN convolution primitives. Deconvolution forward pass is implemented with convolution backward primitives that do not include bias. This requires you to manually add the bias, which is currently broken (#19768).

This change implements oneDNN deconvolution primitives to deconvolution, fixing (#19768).
As I couldn't reproduce (#12579) for the 2D case, I enabled the 2D part of this test.

Checklist

Essentials

  • PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage
  • Code is well-documented

Changes

  • Implemented oneDNN deconvolution primitives to deconvolution
  • Refactored deconvolution code
  • Re-enabled deconvolution2D test

@mxnet-bot
Copy link

Hey @PawelGlomski-Intel , Thanks for submitting the PR
All tests are already queued to run once. If tests fail, you can trigger one or more tests again with the following commands:

  • To trigger all jobs: @mxnet-bot run ci [all]
  • To trigger specific jobs: @mxnet-bot run ci [job1, job2]

CI supported jobs: [windows-cpu, unix-gpu, website, unix-cpu, miscellaneous, sanity, edge, clang, windows-gpu, centos-gpu, centos-cpu]


Note:
Only following 3 categories can trigger CI :PR Author, MXNet Committer, Jenkins Admin.
All CI tests must pass before the PR can be merged.

@lanking520 lanking520 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-work-in-progress PR is still work in progress and removed pr-awaiting-testing PR is reviewed and waiting CI build and test labels Mar 31, 2021
@lanking520 lanking520 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-work-in-progress PR is still work in progress and removed pr-work-in-progress PR is still work in progress pr-awaiting-testing PR is reviewed and waiting CI build and test labels Apr 1, 2021
@PawelGlomski-Intel
Copy link
Contributor Author

@mxnet-bot run ci [unix-cpu, website]

@mxnet-bot
Copy link

Jenkins CI successfully triggered : [website, unix-cpu]

@lanking520 lanking520 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-awaiting-review PR is waiting for code review and removed pr-work-in-progress PR is still work in progress pr-awaiting-testing PR is reviewed and waiting CI build and test labels Apr 1, 2021
@lanking520 lanking520 added pr-awaiting-testing PR is reviewed and waiting CI build and test and removed pr-awaiting-review PR is waiting for code review labels Apr 6, 2021
@mseth10 mseth10 added the pr-work-in-progress PR is still work in progress label Apr 30, 2021
@PawelGlomski-Intel
Copy link
Contributor Author

@mxnet-bot run ci [unix-gpu, centos-gpu]

@mxnet-bot
Copy link

Jenkins CI successfully triggered : [centos-gpu, unix-gpu]

@mseth10 mseth10 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-work-in-progress PR is still work in progress and removed pr-work-in-progress PR is still work in progress pr-awaiting-testing PR is reviewed and waiting CI build and test labels May 6, 2021
@PawelGlomski-Intel
Copy link
Contributor Author

@mxnet-bot run ci [unix-gpu]

@mxnet-bot
Copy link

Jenkins CI successfully triggered : [unix-gpu]

@mseth10 mseth10 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-awaiting-review PR is waiting for code review and removed pr-work-in-progress PR is still work in progress pr-awaiting-testing PR is reviewed and waiting CI build and test labels May 10, 2021
@szha szha merged commit 081aa58 into apache:v1.x May 11, 2021
@szha
Copy link
Member

szha commented May 11, 2021

Merged. @PawelGlomski-Intel thank you!

PawelGlomski-Intel added a commit to PawelGlomski-Intel/incubator-mxnet that referenced this pull request May 21, 2021
…tion 2D (apache#20107)

* Use mkldnn deconvolution primitive in deconvolution

* Apply clang-format

* Refactor deconvolution version 1

* Refactor deconvolution version 2 and use permute_axes in IOLogicalSwapDesc

* Refactor deconvolution version 3

* Enable Deconvolution2D test

* Fix sanity

* Fix windows builds

* Fix deconvolution with bias test
PawelGlomski-Intel added a commit to PawelGlomski-Intel/incubator-mxnet that referenced this pull request Aug 31, 2021
…tion 2D (apache#20107)

* Use mkldnn deconvolution primitive in deconvolution

* Apply clang-format

* Refactor deconvolution version 1

* Refactor deconvolution version 2 and use permute_axes in IOLogicalSwapDesc

* Refactor deconvolution version 3

* Enable Deconvolution2D test

* Fix sanity

* Fix windows builds

* Fix deconvolution with bias test
PawelGlomski-Intel added a commit to PawelGlomski-Intel/incubator-mxnet that referenced this pull request Sep 20, 2021
…tion 2D (apache#20107)

* Use mkldnn deconvolution primitive in deconvolution

* Apply clang-format

* Refactor deconvolution version 1

* Refactor deconvolution version 2 and use permute_axes in IOLogicalSwapDesc

* Refactor deconvolution version 3

* Enable Deconvolution2D test

* Fix sanity

* Fix windows builds

* Fix deconvolution with bias test
PawelGlomski-Intel added a commit to PawelGlomski-Intel/incubator-mxnet that referenced this pull request Sep 22, 2021
…tion 2D (apache#20107)

* Use mkldnn deconvolution primitive in deconvolution

* Apply clang-format

* Refactor deconvolution version 1

* Refactor deconvolution version 2 and use permute_axes in IOLogicalSwapDesc

* Refactor deconvolution version 3

* Enable Deconvolution2D test

* Fix sanity

* Fix windows builds

* Fix deconvolution with bias test
szha pushed a commit that referenced this pull request Sep 29, 2021
…t and fix bias (#20292)

* [v1.x][BUGFIX] Implement oneDNN deconvolution primitives to deconvolution 2D (#20107)

* Use mkldnn deconvolution primitive in deconvolution

* Apply clang-format

* Refactor deconvolution version 1

* Refactor deconvolution version 2 and use permute_axes in IOLogicalSwapDesc

* Refactor deconvolution version 3

* Enable Deconvolution2D test

* Fix sanity

* Fix windows builds

* Fix deconvolution with bias test

* [v1.x][FEATURE] Add MKLDNN Deconvolution 1D and 3D support (#20137)

* Use MXNET_USE_ONEDNN

* Fix test

* Apply formatter

* Add native support for 3D deconvolution

* Remove outdated check

* Replace math.prod with np.prod

* Check convolution layout only when it has value

* Remove outdated check

* Change tests

* Increase default workspace size to mach convolution

* Fix deconv workspace size

* Increase default deconv workspace size in python API

* Disable 3D tests for GPU

* Add deconv arguments checks

* Remove next_impl calls until it is fixed

* Share workspace

* Fix documentation

* Add test_deconv_dilation

* Fix check

* Fix include order
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
pr-awaiting-review PR is waiting for code review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants