本文转自:https://blog.csdn.net/nick_wong/article/details/7728667
OpenMP是专门针对共享地址空间的平行计算机提供的并行计算库,在Intel C++和Visual C++ 8.0里通过#pragma支持。用OpenMP,可以不必去写诸如CreateThread之类的线程管理代码,多线程程序写起来比较简洁。而且 OpenMP提供了很丰富的指令,对于同步共享变量、合理分配负载等任务,都提供了有效的支持,很值得一学。不过因为这个东西用起来很轻松,稍一疏忽就能 酿成愚蠢错误,所以肯定是要经常用才能驾驭好的。一开始用它,犯错误是难免的。
下载安装gcc4.2后,编译的时候加上-fopenmp参数即可。
gcc -fopenmp test_omp.c
g++ -fopenmp test_omp.cc
gfortran -fopenmp test_omp.f90(95)
程序一:先贴一个最简单的OpenMp程序main.c
Linux中的使用方法:
[ycdoit@ycdoit Lu]$ gcc -fopenmp main.c -o main.out
[ycdoit@ycdoit Lu]$ ./main.out
0, 5, 1, 6, 2, 3, 4, 7, 8, 9,
程序二:OpenMp版本的Hello Word
使用方法:
[ycdoit@ycdoit Lu]$ gcc -fopenmp main.c -o main.out
[ycdoit@ycdoit Lu]$ ./main.out
Hello Word from OMP thread 0
Number of thread: 2
Hello Word from OMP thread 1