以下片段代码
#pragma omp parallel
printf("%f", 1.0f);
产生一个“浮点异常”。有没有人遇到过这样的事情?
更多细节:
- 当我尝试打印字符串或整数时没有问题。
- 如果不使用 OpenMP,则没有问题。
- 我在 Mac OSX 10.6.8 和 Intel C++ 编译器 12.0.4 上运行它。
- 除此之外,OpenMP 工作正常。
编码:
#include <stdio.h>
#include <omp.h>
int main()
{
#pragma omp parallel
printf("%d", 1);
printf("\n...\n");
fflush(stdout);
#pragma omp parallel
printf("%f", 2.0);
}
编译:
icpc -o test test.cc -fp-trap-all=all -openmp
产生:
1111
...
Floating point exception