警告 #3180:无法识别的 OpenMP #pragma

warning #3180: unrecognized OpenMP #pragma

我很难在我的 mac machine 上使用 icc 编译器在终端上实现 openMP 代码。我发现以下错误!请帮我更正错误。

下面代码粘贴如下。 IT NEVER WORK FOR openMP for, reduce either. pragma 只是不承认。感谢自己尝试使用代码来提供帮助。

#include <stdio.h>
#include <omp.h>
int main()
{
#pragma omp parallel for
  {
    for(int i=0;i<3;i++)
      {
        printf("Hello");
      }
  }
  return 0;
}

添加到我的评论中,代码的正确版本是

#include <stdio.h>
#include <omp.h>
int main()
{
#pragma omp parallel for
    for(int i=0;i<3;i++)
      {
        printf("Hello");
      }
  return 0;
}

正确的编译器命令行是icc -fopenmp ... -o bla.exe bla.c(假设文件名为bla.c)。请将 ... 替换为编译代码所需的其他命令行选项。

更新:来自英特尔的新 OpenMP 编译器的正确编译器命令行是使用 -fiopenmp(GPU 需要 -fopenmp-targets=spir64)。