supersat opened a new issue, #13144:
URL: https://github.com/apache/tvm/issues/13144

   The HVX conv2d kernel introduced in #12204 only works in simulation, even 
with #13002 applied.
   
   Zeroing out allocated VTCM memory in `VTCMAllocation::VTCMAllocation()` (a 
`memset` inserted at line 79 in `hexagon_buffer.cc` makes the kernel run 
correctly on real hardware. Conversely, filling a VTCM allocation with junk 
values (e.g., filling it with `0xCC`) causes the kernel to fail in simulation 
as well.
   
   It seems like something isn't being zeroed properly, or some VTCM is being 
accessed that shouldn't be. Unfortunately, I haven't been able to nail down 
where this happens yet.
    
   ### Expected behavior
   
   Executing the 
`tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py` tests 
should work on real hardware.
   
   ### Actual behavior
   
   Tests fail with result mismatches.
   
   ### Environment
   
   Ubuntu 20.04 with clang++ 14, TVM with PR #13002 applied, Hexagon SDK 
5.1.0.0 with Hexagon Tools 8.5.13, using a development version of LLVM 16.
   
   ### Steps to reproduce
   
   1. Set `ANDROID_SERIAL_NUMBER` to a valid Hexagon device serial number
   2. Run `pytest 
tests/python/contrib/test_hexagon/topi/test_conv2d_fp16_intrin.py`
   
   ### Triage
   
   * needs-triage
   
   cc: @kparzysz-quic @quic-sanirudh


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to