使用docker1.1.45版本 是否支持openmp

用户您好,请详细描述您所遇到的问题,这会帮助我们快速定位问题~

1.芯片型号:J5

2.天工开物开发包OpenExplorer版本:例如J5_OE_1.1.45等

3.问题定位:能否使用openmp并行开发

4.问题具体描述:cmakelist 添加openmp 报错 错误如下:

-- Check for working CXX compiler: /opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-g++

-- Check for working CXX compiler: /opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ – works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- DEPS_ROOT: /mnt/XiaoDong/20230717/deps_gcc9.3/aarch64

-- RELEASE_ROOT: /usr/local

-- HOST_PACKAGE_DIR: /root/.horizon/ddk/j5_aarch64

CMake Error at /cmake-3.14.5-Linux-x86_64/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:137 (message):

Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES)

Call Stack (most recent call first):

/cmake-3.14.5-Linux-x86_64/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)

/cmake-3.14.5-Linux-x86_64/share/cmake-3.14/Modules/FindOpenMP.cmake:474 (find_package_handle_standard_args)

CMakeLists.txt:29 (FIND_PACKAGE)

-- Configuring incomplete, errors occurred!

See also “/mnt/XiaoDong/20230717/build/CMakeFiles/CMakeOutput.log”.

See also “/mnt/XiaoDong/20230717/build/CMakeFiles/CMakeError.log”.

make: *** No targets specified and no makefile found. Stop.

root@107:/mnt/XiaoDong/20230717# sh build.sh

-- DEPS_ROOT: /mnt/XiaoDong/20230717/deps_gcc9.3/aarch64

-- RELEASE_ROOT: /usr/local

-- HOST_PACKAGE_DIR: /root/.horizon/ddk/j5_aarch64

CMake Error at /cmake-3.14.5-Linux-x86_64/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:137 (message):

Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES)

Call Stack (most recent call first):

/cmake-3.14.5-Linux-x86_64/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)

/cmake-3.14.5-Linux-x86_64/share/cmake-3.14/Modules/FindOpenMP.cmake:474 (find_package_handle_standard_args)

CMakeLists.txt:29 (FIND_PACKAGE)

-- Configuring incomplete, errors occurred!

See also “/mnt/XiaoDong/20230717/build/CMakeFiles/CMakeOutput.log”.

See also “/mnt/XiaoDong/20230717/build/CMakeFiles/CMakeError.log”.

make: *** No targets specified and no makefile found. Stop.

CMake3.15缺少OMP,编译报错Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) · Issue #2163 · PaddlePaddle/Paddle-Lite · GitHub

可尝试降低cmake版本到3.10解决

cmake写法如下 :

if(OPENMP_FOUND)

find_package(OpenMP REQUIRED)

message(“OPENMP FOUND”)

set(CMAKE_C_FLAGS “${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}”)

set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}”)

set(CMAKE_EXE_LINKER_FLAGS “${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}”)

else()

message(“NOT OPENMP FOUND”)

endif()

显示结果不支持 openmp:

root@107:/mnt/XiaoDong/20230718-gj# sh build.sh

-- The CXX compiler identification is GNU 9.3.0

-- Check for working CXX compiler: /opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-g++

-- Check for working CXX compiler: /opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ – works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

NOT OPENMP FOUND

-- HOST_PACKAGE_DIR: /root/.horizon/ddk/j5_aarch64

-- Configuring done

-- Generating done

-- Build files have been written to: /mnt/XiaoDong/20230718-gj/build

您好,地平线工具链在持续迭代优化,为了给您提供更好的服务,希望您能抽出3分钟左右的时间,将您在使用工具链期间的感受和建议告诉我们,您的宝贵意见对我们很重要,非常感谢!

**问卷链接:**https://wenjuan.feishu.cn/m/cfm?t=st64p6krU3Ji-yvhv

你好,gcc9.3应该是自带支持openmp的,无需特殊配置,编译的时候加上-fopenmp参数看看,头文件使用#include <omp.h>

你不能拿百度搜索到直接回复的 你这是直接给别人挖坑的

我使用的1.1.52a版本里面的cmake

root@107:/mnt/XiaoDong/20230718-gj# cmake --version

cmake version 3.14.5

版本如上

请问我这边需要降低到具体哪一个版本

单独降低cmake版本就行,工具链的版本不用变

cmake 安装(高版本切换到低版本)_降低cmake版本_一颗温暖的心_lucky的博客-CSDN博客

cmake版本切换_在Docker容器中编译Milvus 0.10.x gpu版本_罗恋的博客-CSDN博客

可参考上面提供的那个链接和这个链接

已解决