gpt4 book ai didi

c++ - 将 OpenMP 与 clang 一起使用

转载 作者:IT老高 更新时间:2023-10-28 22:01:24 31 4
gpt4 key购买 nike

我在使用 clang(3.6 和 3.8 ToT)编译 OpenMP 代码时遇到问题。

我关注了这篇博文 http://blog.llvm.org/2015/05/openmp-support_22.html ,但问题是编译后的程序只在一个线程上执行。我使用的是 ubuntu 15.04 x64,我同时安装了 libgomp 和 libiopmp,并使用以下命令编译我的代码:

clang test.c -o test -fopenmp -L/usr/lib/gcc/x86_64-linux-gnu/5.1.1

当我改用 gcc 时,一切正常:gcc test.c -o test -fopenmp

我也尝试运行 export LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5.1.1:$LD_LIBRARY_PATH 但没有帮助。`

有什么建议吗?

最佳答案

一些补充意见:

1) 您需要使用 -fopenmp=libomp 在 clang 中启用 OpenMP。 -fopenmp 仅链接 libgomp 但忽略所有编译指示。很奇怪,我知道——很快就会在后备箱里换掉。

2) 3.7 是第一个支持 OpenMP 的版本。 3.6 没有。

3) clang 只能与 libomp 一起工作。不要以 libomp 的方式放置 libgomp(头文件或库)! clang 使用 Intel API,libgomp 不支持。 -fopenmp=libomp 应该链接正确的库。

关于c++ - 将 OpenMP 与 clang 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33357029/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com