opencv/modules/dnn
Haosonn 87f749277d
Merge pull request #24768 from Haosonn:pre-pr-2
Vulkan backend for NaryEltwiseLayer in DNN module #24768

We improve Vulkan backend for ``NaryEltwiseLayer`` in DNN module by:

- add a basic framework for Vulkan backend in ``NaryEltwiseLayer``
- add a compute shader for binary forwarding (an imitation of what has been done in native OpenCV backend including broadcasting and eltwise-operation)
- typo fixed:
  - Wrong info output in ``context.cpp``

Currently, our implementation (or all layers supporting Vulkan backend) runs pretty slow on discrete GPUs basically due to IO cost in function ``copyToHost``, and we are going to fix that by

- find out the best ``VkMemoryProperty`` for various discrete GPUs

- prevent ``copyToHost`` in middle layers during forwarding, (i.e keep data in GPU memory)
### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake

Co-authored-by: IskXCr <IskXCr@outlook.com>
2024-01-29 18:41:49 +03:00
..
cmake dnn: plugin support for OpenVINO 2022-10-07 16:57:31 +00:00
include/opencv2 Merge pull request #24773 from tailsu:sd/pathlike 2024-01-12 16:23:05 +03:00
misc Merge pull request #24539 from LaurentBerger:blobrecttoimage 2023-12-19 20:00:04 +03:00
perf Merge pull request #24768 from Haosonn:pre-pr-2 2024-01-29 18:41:49 +03:00
src Merge pull request #24768 from Haosonn:pre-pr-2 2024-01-29 18:41:49 +03:00
test Merge pull request #24892 from opencv-pushbot:gitee/alalek/dnn_avoid_16s_usage 2024-01-26 16:34:17 +03:00
CMakeLists.txt build: first class cuda support 2023-12-26 09:39:18 +03:00