outline OpenMP 一些并行程序设计问题的解决办法 OpenMP 提供一种快捷简单的多线程编程方法 形成于1997年,是一种应用程序接口 对编程人员: 无需进行复杂的线程创建、同步、负载平衡和销毁工作。 只需要认真考虑哪些循环应该以多线程方式运行。 Intel编译器提供对OpenMP的支持。 ··· OpenMP 结合了两种并行编程的方式 编译指导语句,在编译过程并行化代码 运行时库函数,在运行时对并行环境支持 OpenMP应用程序的组成部分 三次执行的结果 在Microsoft Visual Studio .Net 2005环境下面编写OpenMP程序的必要步骤 1)生成Console项目; 2)配置项目,使之支持OpenMP; 3)编写代码,加入#include “omp.h”; 4)编写源程序; 5)配置环境变量OMP_NUM_THREADS,确定线程数目; 6)执行程序。 fork-Join执行模式 在开始执行的时候,只有主线程的运行线程存在 主线程在运行过程中,当遇到需要进行并行计算的时候,派生出(Fork,创建新线程或者唤醒已有线程)线程来执行并行任务 在并行执行的时候,主线程和派生线程共同工作 在并行代码结束执行后,派生线程退出或者挂起,不再工作,控制流程回到单独的主线程中(Join,即多线程的会和)。 作用域 并行域结构 并行域中的代码被所有的线
原创力文档

文档评论(0)