您的位置:首页 > 运维架构

[OpenMP] 怎么在Visual Studio上启用OpenMP

2015-08-06 13:49 846 查看
OpenMP 是一种支持共享存储并行设计的库,特别适宜在多核CPU上的并行程序设计

怎么在Visual Studio中打开OpenMP



如上图所述,先选择相应的项目,然后打开项目属性,在C/C++项目中的最后一个选项,选择YES打开OpenMP选项

关于OpenMP并行的原理

OpenMP其实是一个支持多平台共享存储的API, 支持很多语言如C, C++, 还有Fortran等

相应的原理如下



OpenMP以fork/join模型为基础进行并行处理,在程序的一开始,会有一个主线程去处理程序,当有需要并行处理的请求的时候,则会由fork去生成一个或者多个新的线程去处理相应的并行请求,如图所示,其中有三个任务是同时进行的,当同时进行的任务全部完成时,才能进行后面的串行任务,所以在这个过程之中,如果有的并行处理的速度比较慢的话,会出现等待时间。在从并行处理转到串行处理的时候,需要join把除主线程之外的其他线程的处理结果全部收回到主线程。

以上便是OpenMP的fork/join并行处理原理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: