openMP简介与入门代码

openMP简介与入门代码
openMP 全称 open multiple processing, 是一个多线程执行的编译器规范。 规范支持用类似 #progma 的宏定义说明多线程的性质,遵守openMP规范的编译器将识别这些宏,并多线程的运行被宏定义之下的大括号括起来的代码。

下面是在ubuntu的gcc编译器下进行的实验:

//  omp_parallel.cpp
//  compile with: /openmp 
#include  < stdio.h >
#include 
< omp.h >

int  main()  {
   #pragma omp parallel num_threads(
4)
   
{
      
int i = omp_get_thread_num();
      printf(
"Hello from thread %d\n", i);
   }

}

gcc omp_parallel.cpp -fopenmp

./a.out

result:
Hello from thread 0
Hello from thread 3
Hello from thread 1
Hello from thread 2

注意:一定需要-fopenmp,不然会链接不到omp_get_thread_num函数。

你可能感兴趣的:(openMP简介与入门代码)