Skip to content
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

[BYOC] [ACL] 20.05 memory corruption temporarely fix #6724

Merged
merged 1 commit into from
Nov 6, 2020

Conversation

d-smirnov
Copy link
Contributor

This fix intended to prevent execution of operations via ACL runtime
in case if its arguments require memory padding. This fix is tempоrary
and intended for ACL 20.05 and should be removed after migration
to ACL 20.11

@d-smirnov
Copy link
Contributor Author

@merrymercy Please advise on failed Integration Test / docs: GPU. I cannot reproduce failure of tutorials/auto_scheduler/tune_matmul_x86.py locally

@comaniac
Copy link
Contributor

See #6723

Copy link
Contributor

@comaniac comaniac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

include/tvm/relay/op_attr_types.h Outdated Show resolved Hide resolved
include/tvm/relay/op_attr_types.h Outdated Show resolved Hide resolved
python/tvm/relay/op/contrib/arm_compute_lib.py Outdated Show resolved Hide resolved
python/tvm/relay/op/contrib/arm_compute_lib.py Outdated Show resolved Hide resolved
python/tvm/relay/op/contrib/arm_compute_lib.py Outdated Show resolved Hide resolved
python/tvm/relay/op/contrib/arm_compute_lib.py Outdated Show resolved Hide resolved
python/tvm/relay/op/contrib/arm_compute_lib.py Outdated Show resolved Hide resolved
tests/python/contrib/test_arm_compute_lib/test_network.py Outdated Show resolved Hide resolved
Copy link
Contributor

@lhutton1 lhutton1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR, just out of curiosity was this issue found as a result of testing squeezenet?

@d-smirnov
Copy link
Contributor Author

@lhutton Some operations of ACL up to 20.11 requires data to be vector-friendly. In squeezenet there is an avg_pool2d operator with specific tensor layout ((1, 13, 13, 1001), float32).

@lhutton1
Copy link
Contributor

@lhutton Some operations of ACL up to 20.11 requires data to be vector-friendly. In squeezenet there is an avg_pool2d operator with specific tensor layout ((1, 13, 13, 1001), float32).

Makes sense, thanks for the clarification :)

Copy link
Contributor

@comaniac comaniac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM. Just nits

python/tvm/relay/op/contrib/arm_compute_lib.py Outdated Show resolved Hide resolved
tests/python/contrib/test_arm_compute_lib/test_pooling.py Outdated Show resolved Hide resolved
This workaround prevents execution of operations via ACL runtime
in case if arguments or output tensor require memory padding.
Workaround is applicable to all ACL versions prior forecoming ACL 20.11
(which will not use data padding).
Copy link
Contributor

@lhutton1 lhutton1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@comaniac comaniac merged commit 0469a77 into apache:main Nov 6, 2020
@comaniac
Copy link
Contributor

comaniac commented Nov 6, 2020

Thanks @d-smirnov @lhutton1

trevor-m pushed a commit to trevor-m/tvm that referenced this pull request Dec 2, 2020
This workaround prevents execution of operations via ACL runtime
in case if arguments or output tensor require memory padding.
Workaround is applicable to all ACL versions prior forecoming ACL 20.11
(which will not use data padding).
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request Dec 4, 2020
This workaround prevents execution of operations via ACL runtime
in case if arguments or output tensor require memory padding.
Workaround is applicable to all ACL versions prior forecoming ACL 20.11
(which will not use data padding).
trevor-m pushed a commit to neo-ai/tvm that referenced this pull request Dec 4, 2020
This workaround prevents execution of operations via ACL runtime
in case if arguments or output tensor require memory padding.
Workaround is applicable to all ACL versions prior forecoming ACL 20.11
(which will not use data padding).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants