Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork56.4k
(experimental) support _M_ARM64EC for MSVS2022#27416
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Kumataro commentedJun 8, 2025
Unexpected results were obtained at macOS-ARM64 and Ubuntu2004-ARM64. Both are about ARM64 too, so I think I have some miswork around it. I will continue to investigate it. Umm... |
Kumataro commentedJun 8, 2025
I have mistake to drop the last ”)” in SIMD availability check code. - #if (...) || (defined _MSC_VER && (defined _M_ARM64 || defined _M_ARM64EC)+ #if (...) || (defined _MSC_VER && (defined _M_ARM64 || defined _M_ARM64EC)) When ARM64 tests are failed. other result |
asmorkalov commentedJun 9, 2025
What hardware do you use for test? |
shijunz commentedJun 9, 2025
C:\shijunz\opencv\arm64ec-opencv\opencv\arm0609\bin\Debug>opencv_perf_cored.exe OpenCV build configuration is: General configuration for OpenCV 4.12.0-dev ===================================== Platform: CPU/HW features: C/C++: OpenCV modules: Windows RT support: NO GUI: WIN32UI Media I/O: Video I/O: Parallel framework: Concurrency Trace: YES (with Intel ITT(3.25.4)) Other third-party libraries: OpenCL: YES (NVD3D11) Python (for build): C:/msys64/clangarm64/bin/python3.exe Java: Install to: C:/shijunz/opencv/arm64ec-opencv/opencv/arm0609/install
Required baseline features: but at least the ID=100 (NEON)- OK , so what I can fix it? |
shijunz commentedJun 9, 2025
and arm64ec similar error: C:\shijunz\opencv\arm64ec-opencv\opencv\ec0609\bin\Debug>opencv_versiond.exe OpenCV build configuration is: General configuration for OpenCV 4.12.0-dev ===================================== Platform: CPU/HW features: C/C++: OpenCV modules: Windows RT support: NO GUI: WIN32UI Media I/O: Video I/O: Parallel framework: Concurrency Trace: YES (with Intel ITT(3.25.4)) Other third-party libraries: OpenCL: YES (NVD3D11) Python (for build): C:/msys64/clangarm64/bin/python3.exe Java: Install to: C:/shijunz/opencv/arm64ec-opencv/opencv/ec0609/install
Required baseline features: |
shijunz commentedJun 9, 2025
C:\shijunz\opencv\arm64ec-opencv\opencv\ec0609\bin\Debug>systeminfo Host Name: WIN-K2VR3JRA23J |
Kumataro commentedJun 9, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I try to execute cmake on x86-64 windows host for ARM64EC target.
And first
I slightly wonder that |
shijunz commentedJun 10, 2025
yes, After add -DCPU_BASELINE=NEON, now it is ok, C:\shijunz\opencv\arm64ec-opencv\opencv>ec0610\bin\Debug\opencv_version_win32d.exe General configuration for OpenCV 4.12.0-dev ===================================== Platform: CPU/HW features: C/C++: OpenCV modules: Windows RT support: NO GUI: WIN32UI Media I/O: Video I/O: Parallel framework: Concurrency Trace: YES (with Intel ITT(3.25.4)) Other third-party libraries: OpenCL: YES (NVD3D11) Python (for build): C:/msys64/clangarm64/bin/python3.exe Java: Install to: C:/shijunz/opencv/arm64ec-opencv/opencv/ec0610/install[ INFO:0@0.005] global ocl.cpp:1185 cv::ocl::haveOpenCL Initialize OpenCL runtime... C:\shijunz\opencv\arm64ec-opencv\opencv>cd ec0610\bin\Debug\ C:\shijunz\opencv\arm64ec-opencv\opencv\ec0610\bin\Debug>dir *.exe /a/s Directory of C:\shijunz\opencv\arm64ec-opencv\opencv\ec0610\bin\Debug 06/10/2025 09:19 AM 161,792 opencv_versiond.exe but why only get the two .exe files. and if arm64, it will generate many other exe files, like : 06/09/2025 05:27 PM 265,728 opencv_annotationd.exe thanks. |
asmorkalov commentedJun 10, 2025
@Kumataro@shijunz Thanks a lot for the investigation and experiments. |
shijunz commentedJun 10, 2025
I try it but get bellow error:
Required baseline features:
thank@asmorkalov , I build it at the windows-arm64 pc, so I do not need cross-build , anyway let me follow your step and enter build environment first, and then run cmake cmd. let me try it again. |
shijunz commentedJun 10, 2025
@Kumataro due to libpngd.lib(arm_init.obj) : error LNK2001: unresolved external symbol #png_read_filter_row_up_neon (EC Symbol) [C:\shijunz\opencv\arm64ec-opencv\opencv\devEnvEc061 |
Kumataro commentedJun 11, 2025
Umm... I readhttps://suusanex.hatenablog.jp/entry/2025/06/04/083320 in Japanese. Windows SDK has type-conversion bug between And if target is ARM64EC, # This file is part of OpenCV project.# It is subject to the license terms in the LICENSE file found in the top-level directory# of this distribution and at http://opencv.org/license.html# cmake -S opencv -B build_arm64ec -DCMAKE_TOOLCHAIN_FILE=c:\work\opencv\platforms\windows\arm64ec-x86-64-msvc.toolchain.cmake -A ARM64EC# cmake --build build_arm64ec --config Releaseset(CMAKE_CROSSCOMPILING 1)set(CMAKE_SYSTEM_NAME Windows)set(CMAKE_SYSTEM_PROCESSOR ARM64EC)set(CMAKE_GENERATOR_PLATFORM ARM64EC)set(CMAKE_BUILD_TYPE Release)# See https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/# See https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/index-legacy# set(CMAKE_SYSTEM_VERSION 10.0.26100.4188) # NG# set(CMAKE_SYSTEM_VERSION 10.0.26100.2454) # NG# set(CMAKE_SYSTEM_VERSION 10.0.26100) # NG# set(CMAKE_SYSTEM_VERSION 10.0.22621.5040) # NG# set(CMAKE_SYSTEM_VERSION 10.0.22621.1778) # NG# set(CMAKE_SYSTEM_VERSION 10.0.22621.755) # NGset(CMAKE_SYSTEM_VERSION 10.0.22621.0)# OKset(CMAKE_CXX_FLAGS"/D_ARM64_DISTINCT_NEON_TYPES")# workaround to detect 'float16x8_t'set(CPU_BASELINE NEON)set(ENABLE_FP16OFF)set(ENABLE_LIBJPEG_TURBO_SIMDOFF)set(WITH_PNGOFF)set(WITH_OPENEXROFF)set(WITH_WEBPOFF) |
shijunz commentedJun 12, 2025
Thank you very much for your great help. I do not use same cmake, but I manual merge your patch into 4.10.0, and then use by vcpkg tools, it is worked. from the current opencv_perf_core.exe, it should be good than before. Thank you again... |
1f674dc intoopencv:4.xUh oh!
There was an error while loading.Please reload this page.
Close#27413
Pull Request Readiness Checklist
See details athttps://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.