openmp - 警告 #3180:无法识别的 OpenMP #pragma
问题描述
我很难在终端上使用 icc 编译器在我的 mac 机器上实现 openMP 代码。我发现以下错误!请帮我纠正错误。
以下代码粘贴如下。它永远不会为 openMP 工作,减少任何一个。编译指示只是无法识别。感谢自己尝试代码来提供帮助。
#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(需要 -fopenmp-targets=spir64 用于 GPU)。
推荐阅读
- f# - 如何找到要显式引用的程序集的正确版本
- r - deparse() 的更快替代方案
- r - 基于另一个数据帧中的值的数据帧子集
- swift - 无法将数据从 tableViewController 传递到嵌入在 ViewController 中的另一个 TableViewController
- python - 如何删除列表中元素的国家/地区
- android - 我可以将 Ionic 4+ 应用程序(Angular + Capacitor)部署到 ios App Store 中吗?
- shell - Ash shell(busybox),检查文件扩展名?
- java - Maven spring 未解决的符号
- json - 使用两个过滤器进行选择 - Firebase
- php - 字符串到 PHP 中的日期时间