COMPMID-3339: Patch2: Remove paddings from im2col*_nhwc cl kernel

* Remove channel paddings from all nhwc kernels (im2col_3x3_nhwc,
  im2col_9x9_nhwc, im2col_generic_nhwc)
* Validate that input total spatial dimensions (with x and y paddings)
  are bigger than or equal to the kernel spatial dimension.
  - Otherwise it would result in invalid memory reads.
  - This problem likely existed before, but was made obvious with the
    removal of implicit paddings
* Add zero padding validation tests
* Fix Im2ColValidationFixture by not permuting the input shape in case of
  NHWC

Change-Id: I1f895e8938af0e9130cb516106f0b4b665531709
Signed-off-by: SiCong Li <sicong.li@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3696
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
4 files changed
tree: a4140b49225fef07d418a13ac981af02ca94c42f
  1. .clang-format
  2. .clang-tidy
  3. .github/
  4. .gitmodules
  5. Android.bp
  6. LICENSE
  7. README.md
  8. SConscript
  9. SConstruct
  10. arm_compute/
  11. data/
  12. docs/
  13. examples/
  14. include/
  15. scripts/
  16. src/
  17. support/
  18. tests/
  19. utils/
README.md

Release repository: https://github.com/arm-software/ComputeLibrary

Development repository: https://review.mlplatform.org/#/admin/projects/ml/ComputeLibrary

Please report issues here: https://github.com/ARM-software/ComputeLibrary/issues

Make sure you are using the latest version of the library before opening an issue. Thanks

News:

Related projects:

Tutorials:

Documentation (API, changelogs, build guide, contribution guide, errata, etc.) available at https://github.com/ARM-software/ComputeLibrary/wiki/Documentation.

Binaries available at https://github.com/ARM-software/ComputeLibrary/releases.

License & Contributions: The software is provided under MIT license. Contributions to this project are accepted under the same license.

Public mailing list

For technical discussion, the ComputeLibrary project has a public mailing list: acl-dev@lists.linaro.org The list is open to anyone inside or outside of Arm to self subscribe. In order to subscribe, please visit the following website: https://lists.linaro.org/mailman/listinfo/acl-dev

Developer Certificate of Origin (DCO)

Before the ComputeLibrary project accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use the Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/)

To indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message:

Signed-off-by: John Doe <john.doe@example.org>

You must use your real name, no pseudonyms or anonymous contributions are accepted.

Security Issues

If you believe you have discovered a security issue please contact MLG-Security@arm.com