Impl RISC-V HAL for cv::flip | Add perf test for flip#26943
Impl RISC-V HAL for cv::flip | Add perf test for flip#26943asmorkalov merged 2 commits intoopencv:4.xfrom
Conversation
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
|
In the unsuccessful default check, |
|
There are some issues with tests |
|
hm.., I do not see the issue with Muse Pi v 30 and GCC. It may be vector size issue. |
|
It's my fault. I forget to consider the situation To solve this problem, I need to make the helper struct longer. But it's too ugly. I think a helper file holding helper class like following needed to be added: where T may be like uchar and m is the LMUL. And this file can also benefit all other hal_rvv works. But I have no idea where I should add this file and whether I should add this file in another pull request. Could you give me some suggestions? |
|
You can return NOT_IMPLEMENTED status if src==dst right now and make another optimization round. |
|
OK. And I have looked serveral perf_*.cpp in core module. None of them have the license header. Should I add it? |
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
|
My performance numbers for Muse Pi v 30 (GCC 14.2): |
Implement through the existing
cv_hal_flipinterfaces.Add perf test for
cv::flip.The reason why select these args for testing:
Tested on
The optimization for vlen <= 256 and > 256 are different, but I have no real hardware with vlen > 256. So accuracy tests for that like 512 and 1024 are conducted on QEMU built from the
riscv-collab/riscv-gnu-toolchain.Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.