我有4核心的计算机和OMP应用程序与2重任务。OpenMP,使用并行的所有核心
int main()
{
#pragma omp parallel sections
{
#pragma omp section
WeightyTask1();
#pragma omp section
WeightyTask2();
}
return 0;
}
每个任务都有这样有分量的组成部分:
#omp pragma parallel for
for (int i = 0; i < N; i++)
{
...
}
我编译的程序与-fopenmp
参数,做出export OMP_NUM_THREADS=4
。 问题是只有两个核心加载。我如何在我的任务中使用所有内核?
我应该用两个'for'循环? (i从0到N/2 - 1)和(i从N/2到N-1)? –