2

我正在尝试使用 mac os Lion 下的 openmp 选项编译 fftw3。如http://www.fftw.org/release-notes.html中所公开,我使用以下命令行 ./configure --enable-openmp

配置停止在以下行:检查 C 编译器的 OpenMP 标志...未知配置:错误:不知道如何启用 OpenMP

我知道openmp是用xcode给出的,但我不知道如何给它配置选项,有人可以帮助我吗?我已经成功地在其他程序中使用了 openmp。

我希望这是足够的信息来帮助我。

谢谢,

注意:我有 Xcode 4.2、gcc 4.2.1。

在 config.log 的“输出变量”部分,我发现:

CFLAGS='-O3 -fomit-frame-pointer -mtune=native -fstrict-aliasing -ffast-math'

失败似乎是(在 config.log 中):

配置:18427:gcc -std=gnu99 -o conftest conftest.c -lm >&5
架构 x86_64 的未定义符号:
“_omp_set_num_threads”,从 ccfUItzL.o 中的 _main 引用
ld:未找到架构 x86_64 的
符号 collect2:ld返回 1 退出状态
配置:18427:$?= 1
配置:失败的程序是:/.../

4

1 回答 1

1

仔细观察,我认为我不明白 fftw3 的 openmp 配置测试应该如何工作。

编辑配置脚本;替换两次出现的omp_set_num_threads()toomp_get_num_threads()并重新运行 configure as ./configure --enable-openmp。完成此操作后,它似乎在使用 Lion 和 Xcode 4.2.1 对我的 Macbook Pro 进行检查时构建并通过了大多数测试。

请记住,gcc 4.2 的 OpenMP 支持不是很好或性能不是很好,因此您可能无法通过这种方式充分利用 fftw3 的多核。

于 2012-02-04T01:07:20.220 回答