繁体   English   中英

如何在我的新 MacBook Pro(使用 Mac OS Catalina)上安装 openMP?

[英]How can I install openMP on my new MacBook Pro (with Mac OS Catalina)?

我安装了 Xcode (以及命令行工具)但终端说(当我编译时):

gcc -o task -fopenmp task.c
clang: error: unsupported option '-fopenmp'

我试图通过 brew 安装 openmp 但人们说它不再在 homebrew 上可用,他们建议尝试

brew instal llvm

但我得到同样的错误。 我也在墓地里试过

brew install homebrew/boneyard/clang-omp

但存储库不再存在。

你可以帮帮我吗? 我只需要学习openMP,我不认为安装有那么难......

谢谢!

亲切的问候,

尼科

要使用 OpenMP 支持进行构建,您需要确保没有从 Xcode 调用 Apple 的 clang。 即使你通过 brew 安装了llvmgcc ,你也应该在你的终端 Z212E5440CFBE515024E 中尝试gcc -vclang -v 两者都可能调用苹果的版本。

您可以使用 GNU gcc 或 LLVM; 两者都可以通过 brew 获得。 如果你使用 LLVM,你还需要安装libomp

GNU gcc(当前版本 9)

brew install gcc
gcc-9 -o task -fopenmp task.c

请注意,您可以通过在gcc后面加上-和主要版本号来显式调用此版本的 gcc,例如: gcc-9

LLVM

Brew 将 LLVM 安装为仅桶装,这样它就不会与 Apple 的版本冲突。 因此,您需要确保调用正确的clang 您还需要指定libomp库的位置。

brew install llvm libomp
`brew --prefix llvm`/bin/clang -L`brew --prefix`/lib -o task -fopenmp task.c

https://iscinumpy.gitlab.io/post/omp-on-high-sierra/建议执行以下操作:

brew install libomp

安装 OpenMP 运行时组件/库。

然后,在编译时:

  • 在编译步骤中使用-Xpreprocessor -fopenmp代替-fopenmp-c选项)
  • -lomp添加到链接步骤

注意上面的页面还提到了 CMake 3.12 或更高版本会自动找到在 MacOS 上添加 OpenMP 的正确方法:

cmake_minimum_required(VERSION 3.12)
project(openmptest CXX)

add_executable(sample sample.cpp)

find_package(OpenMP REQUIRED)
target_link_libraries(sample PRIVATE OpenMP::OpenMP_CXX)

注意:我没有对此进行任何测试,但听起来相对健全

brew install gcc

然后在您的终端中键入gcc并按两次选项卡按钮。

您应该看到多个 gcc 版本,例如gcc gcc-10

然后找出哪个来自 Homebrew,例如在终端中键入gcc-10 --version应该 output 是这样的:

gcc-10 (Homebrew GCC 10.2.0_3) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

最后使用该编译器来编译你的例如:

gcc-10 -o task -fopenmp task.c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM