【发布时间】:2021-06-10 09:22:47
【问题描述】:
我目前正在尝试使用 OpenMP 进行并行计算。 我已经编写了以下基本代码。 但是它返回以下警告:
warning #2901: [omp] OpenMP is not active; all OpenMP directives will be ignored.
更改线程数不会改变所需的运行时间,因为 omp.h 由于某种我不清楚的原因被忽略了。
谁能帮帮我?
#include <stdio.h>
#include <omp.h>
#include <math.h>
int main(void)
{
double ts;
double something;
clock_t begin = clock();
#pragma omp parallel num_threads(4)
#pragma omp parallel for
for (int i = 0; i<pow(10,7);i++)
{
something=sqrt(123456);
}
clock_t end = clock();
ts = (double)(end - begin) / CLOCKS_PER_SEC;
printf("Time elpased is %f seconds", ts);
}
【问题讨论】:
标签: c++ c multithreading parallel-processing openmp