OpenMP是由The Board of the OpenMP Architecture Review Board(ARB)提出的一套用于共享内存并行系统的多线程程序设计标准。目前,OpenMP仅支持C、C++和Fortran语言。由于OpenMP是一种共享存储的标准,所以在非共享存储系统上不能使用,如集群(Cluster)(目前在非共享存储系统上并行主要采用MPI)。简而言之,OpenMP就是一种多线程程序设计的标准,适合在个人计算机上进行并行计算。它提供了对并行算法的抽象描述,程序员只需在源代码中加入专用的pragma来指明,编译器将自动将程序进行并行。
主要内容:
一、一个简单的OpenMP例子 1
二、OpenMP概述 5
三、并行数目与并形体对运行效率的影响 8
四、求π例子 13
五、循环结构的并行 17
1、范围条件 17
2、shedule条件 22
3、threadprivate指令 24
六、分段并行 25
七、嵌套并行 29
八、OpenMP中的常用函数 33
1、设置线程数目 33
2、获取线程数目 33
3、获取最多线程数目 33
4、返回线程ID 33
5、获取程序可用的处理器数目 33
6、获取时间 34
7、是否处于并行中 34
九、同步 35
1、互斥同步 39
2、事件同步 42
1