[Hexagon] Fix chunk address table generation in chunkify_hwio_16b#13002
[Hexagon] Fix chunk address table generation in chunkify_hwio_16b#13002masahi merged 2 commits intoapache:mainfrom kparzysz-quic:fix-chunking
Conversation
The filter data is contiguous, the iteration is over 16-bit elements, not pointers.
|
This should fix the failure on hardware in the conv2d fp16 test. Edit: apparently it still fails on hardware, so the failing test was left disabled. |
|
This does pass on the simulator, but I am unfortunately still seeing a mismatch on hardware. enabled targets: llvm; hexagon tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py FFFFFF [ 31%] =================================== FAILURES =================================== self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529b50>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 8.492e+00, 7.918e+00, 2.390e+03], desired = array([[[[8.4 , 7.656, 6.133], rtol = 0.05, atol = 0.05
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529ac0>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 7.1992e+00, 8.0391e+00, 1.5148e+01],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529a30>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 7.2070e+00, -1.4296e+04, 2.0723e+00],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529970>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 3.472e+04, 5.371e+00, 9.117e+00, ..., 5.352e+00,
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529820>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[-2.0162e+02, 1.1550e+03, 7.1328e+00], desired = array([[[[20.16, 17.67, 19.08], rtol = 0.05, atol = 0.05
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529790>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 8.188e+01, 3.518e+00, 2.768e+00],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529760>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 3.9180e+03, -1.2216e+04, 2.9425e+02],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529640>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 91.4 , 97.06, -4108. ], desired = array([[[[ 91. , 97. , 96.44], rtol = 0.05, atol = 0.05
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a55295b0>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 6.941e+00, 6.070e+00, 1.399e+02], desired = array([[[[6.88 , 5.812, 6.98 ], rtol = 0.05, atol = 0.05
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529520>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 7.945e+00, 8.492e+00, 8.461e+00], rtol = 0.05, atol = 0.05
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5529460>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 7.168e+00, 6.574e+00, 5.840e+00],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a55293d0>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 8.4141e+00, 6.3398e+00, 6.5391e+00],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5547040>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 7.9180e+00, 7.2930e+00, 6.7383e+00],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a55470d0>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[-8.5050e+02, 3.2464e+04, 2.3184e+04],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5547160>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 6.1344e+01, 6.7375e+01, -6.1560e+03, ..., 6.7875e+01,
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a55471f0>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 7.527e+00, 2.549e+04, 1.552e+02]], desired = array([[[[7.594, 7.38 , 5.793]], rtol = 0.05, atol = 0.05
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5547280>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 3.4752e+04, 5.7773e+00, 1.2820e+01, 5.6367e+00,
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a5547310>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[-2.0075e+02, 1.1590e+03, 2.5020e+00]], desired = array([[[[17.23, 19.39, 18.44]], rtol = 0.05, atol = 0.05
E AssertionError: python/tvm/testing/utils.py:120: AssertionError self = <test_hexagon.topi.test_conv2d_fp16_intrin.TestConv2dIntrin object at 0x7f36a55473a0>
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py:243: actual = array([[[[ 1.2730e+03, 2.9004e+00, 3.0898e+00],
E AssertionError: python/tvm/testing/utils.py:120: AssertionError |
|
@kparzysz-quic - I’m out today, but I think @supersat did a quick experiment of zeroing memory, which produced closer answers on hardware. Maybe the combination of this fix, and zeroing the buffers will do it. |
janetsc
left a comment
There was a problem hiding this comment.
Looks good on the simulator.
|
All tests pass on hardware after zeroing out memory before returning from |
…ache#13002) * [Hexagon] Fix chunk address table generation in chunkify_hwio_16b The filter data is contiguous, the iteration is over 16-bit elements, not pointers. * Re-disable the conv2d_fp16 test, since it still fails on hardware
…ache#13002) * [Hexagon] Fix chunk address table generation in chunkify_hwio_16b The filter data is contiguous, the iteration is over 16-bit elements, not pointers. * Re-disable the conv2d_fp16 test, since it still fails on hardware
…ache#13002) * [Hexagon] Fix chunk address table generation in chunkify_hwio_16b The filter data is contiguous, the iteration is over 16-bit elements, not pointers. * Re-disable the conv2d_fp16 test, since it still fails on hardware
The filter data is contiguous, the iteration is over 16-bit elements, not pointers.