[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并行处理原理。
怎么在Visual Studio中打开OpenMP
如上图所述,先选择相应的项目,然后打开项目属性,在C/C++项目中的最后一个选项,选择YES打开OpenMP选项
关于OpenMP并行的原理
OpenMP其实是一个支持多平台共享存储的API, 支持很多语言如C, C++, 还有Fortran等
相应的原理如下
OpenMP以fork/join模型为基础进行并行处理,在程序的一开始,会有一个主线程去处理程序,当有需要并行处理的请求的时候,则会由fork去生成一个或者多个新的线程去处理相应的并行请求,如图所示,其中有三个任务是同时进行的,当同时进行的任务全部完成时,才能进行后面的串行任务,所以在这个过程之中,如果有的并行处理的速度比较慢的话,会出现等待时间。在从并行处理转到串行处理的时候,需要join把除主线程之外的其他线程的处理结果全部收回到主线程。
以上便是OpenMP的fork/join并行处理原理。
相关文章推荐
- linux下挂载文件系统
- 48、android代码架构总结
- preventDefault stopPropagation??
- 反代理google网站
- CentOS7安装Nagios
- 下载mysql和heartbeat网站
- Linux下的ls 常用命令
- popupwindow的源码分析
- Tomcat介绍及分层目录
- 最好免费的 HTML5 & JS 网站视频播放器收集
- .Net平台AOP技术研究
- Linux常见压缩命令 - gzip,zcat,bzip2,bzcat
- Linux常见压缩命令 - gzip,zcat,bzip2,bzcat
- centos7 编译 nginx
- [Usaco2008 Open]Word Power 名字的能量
- MVC dropdownlist自动绑定、验证、默认值
- linux上svn服务器及客户端的安装配置
- linux之shell之grep,awk,sed
- log4j:WARN Please initialize the log4j system properly
- OpenSessionInViewFilter作用及配置-懒加载