OpenMP Tutorial:https://computing.llnl.gov/tutorials/openMP/#ProgrammingModel
理解OpenMP的编程模型是学习好OpenMP的第一步。
(1)Shared Memory, Thread Based Parallelism:
OpenMP是基于共享内存和线程的并行模型。
(2)Explicit Parallelism:
OpenMP是明确的并行,并不是自动并行。提供给开发人员对并行的完全控制。
(3)Fork - Join Model:
OpenMP使用经典的Fork-Join模型,如下图所示:
因此,所有的OpenMP程序都开始于一个主线程,通过主线程创建一组任务进行并行,然后进行同步等。
PS:好像一般的线程模型都是fork/join的模型?