Skip to content

FastCV gemm hal#27184

Merged
asmorkalov merged 2 commits intoopencv:4.xfrom
CodeLinaro:gemm_fastcv_hal
Apr 25, 2025
Merged

FastCV gemm hal#27184
asmorkalov merged 2 commits intoopencv:4.xfrom
CodeLinaro:gemm_fastcv_hal

Conversation

@adsha-quic
Copy link
Copy Markdown
Contributor

Fastcv hal for gemm 32f

Pull Request Readiness Checklist

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

  • I agree to contribute to the project under Apache 2 License.
  • 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
  • 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

@asmorkalov asmorkalov added optimization platform: arm ARM boards related issues: RPi, NVIDIA TK/TX, etc labels Apr 1, 2025
@asmorkalov asmorkalov self-requested a review April 1, 2025 18:45
@asmorkalov asmorkalov self-assigned this Apr 2, 2025
@asmorkalov asmorkalov added this to the 4.12.0 milestone Apr 2, 2025
@asmorkalov asmorkalov changed the title WIP: Fastcv gemm hal Fastcv gemm hal Apr 8, 2025
@asmorkalov asmorkalov changed the title Fastcv gemm hal FastCV gemm hal Apr 8, 2025
@asmorkalov
Copy link
Copy Markdown
Contributor

Test failure on Linux:

./bin/opencv_test_core --gtest_filter=Core_Array.expressions
CTEST_FULL_OUTPUT
OpenCV version: 4.12.0-dev
OpenCV VCS version: 4.11.0-325-gc4729ea343-dirty
Build type: Release
Compiler: /usr/bin/c++  (ver 9.4.0)
Algorithm hint: ALGO_HINT_ACCURATE
HAL: YES (carotene (ver 0.0.1) fastcv (ver 0.0.1))
Parallel framework: pthreads (nthreads=12)
CPU features: NEON FP16 *NEON_DOTPROD *NEON_FP16
OpenCL is disabled
TEST: Skip tests with tags: 'mem_6gb', 'verylong'
Note: Google Test filter = Core_Array.expressions
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from Core_Array
[ RUN      ] Core_Array.expressions
/mnt/flashdrive/opencv/modules/ts/src/ts.cpp:612: Failure
Failed

        failure reason: Unexpected output
        test case #-1
        seed: 0000000000000000
-----------------------------------
        LOG:
OpenCV Error:
        Assertion failed (channels() == CV_MAT_CN(dtype)) in copyTo, file /mnt/flashdrive/opencv/modules/core/src/copy.cpp, line 442

-----------------------------------

[  FAILED  ] Core_Array.expressions (3 ms)
[----------] 1 test from Core_Array (3 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (4 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] Core_Array.expressions

 1 FAILED TEST

@asmorkalov
Copy link
Copy Markdown
Contributor

Please rebase and fix conflicts.

…rations test in core and resolving conflicts
@adsha-quic
Copy link
Copy Markdown
Contributor Author

Please rebase and fix conflicts.

Done

@asmorkalov
Copy link
Copy Markdown
Contributor

[  3%] Linking C static library ../lib/libittnotify.a
[  3%] Built target ittnotify
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp: In function ‘int fastcv_hal_SVD32f(float*, size_t, float*, float*, size_t, float*, size_t, int, int, int)’:
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp:642:1: error: a function-definition is not allowed here before ‘{’ token
  642 | {
      | ^
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp:740:1: error: expected ‘}’ at end of input
  740 | }
      | ^
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp:587:1: note: to match this ‘{’
  587 | {
      | ^

@adsha-quic
Copy link
Copy Markdown
Contributor Author

[  3%] Linking C static library ../lib/libittnotify.a
[  3%] Built target ittnotify
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp: In function ‘int fastcv_hal_SVD32f(float*, size_t, float*, float*, size_t, float*, size_t, int, int, int)’:
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp:642:1: error: a function-definition is not allowed here before ‘{’ token
  642 | {
      | ^
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp:740:1: error: expected ‘}’ at end of input
  740 | }
      | ^
/mnt/flashdrive/opencv/3rdparty/fastcv/src/fastcv_hal_core.cpp:587:1: note: to match this ‘{’
  587 | {
      | ^

done. added the missing brace

@asmorkalov
Copy link
Copy Markdown
Contributor

Tested manually with Linux and Android.

@asmorkalov asmorkalov merged commit edccfa7 into opencv:4.x Apr 25, 2025
25 of 28 checks passed
fengyuentau pushed a commit to fengyuentau/opencv that referenced this pull request Apr 25, 2025
FastCV gemm hal opencv#27184

FastCV hal for gemm 32f

### 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
- [ ] 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
@asmorkalov asmorkalov mentioned this pull request Apr 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

optimization platform: arm ARM boards related issues: RPi, NVIDIA TK/TX, etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants