错误:“num_thread”之前的预期“#pragma omp”子句

Posted

技术标签:

【中文标题】错误:“num_thread”之前的预期“#pragma omp”子句【英文标题】:error: expected '#pragma omp' clause before 'num_thread' 【发布时间】:2019-03-07 11:27:39 【问题描述】:

openmp 新手。我的环境如下:

ubuntu 16.04TLS
gcc 7.3.0

我的代码如下:

#include <omp.h>
#include <iostream>

int main()

    #pragma omp parallel num_thread(2)
    
        std::cout << "Hello World!\n";
    

    return 0;

和命令:

gcc -fopenmp main.cpp -o main

错误显示:

#pragma omp parallel num_thread(2)

我应该怎么做才能解决这个问题?谢谢!

【问题讨论】:

【参考方案1】:

如果您想明确指定 OpenMP 中的线程数,您必须使用 num_threads()s

#include <omp.h>
#include <iostream>

int main()

    #pragma omp parallel num_threads(2)
    
        std::cout << "Hello World!\n";
    

    return 0;

【讨论】:

以上是关于错误:“num_thread”之前的预期“#pragma omp”子句的主要内容,如果未能解决你的问题,请参考以下文章