社区
英特尔边缘计算技术
帖子详情
OpenMP的for循环共享代码区内如果return出来?
yasaka
2011-11-19 02:59:14
各位好,我是请教一个常见的问题:
有一段PVS算法代码,我把它改为在OpenMP下面并行,其中在
#pragma omp parallel for
里面的共享代码区,遇到一个条件,需要return回来,但是共享代码区内不能使用return、break之类的语句,这个问题怎么解决呢?
有人说用if...else...可以解决,那具体又该怎么做呢?
可否给一段代码以供我参考?
...全文
442
6
打赏
收藏
OpenMP的for循环共享代码区内如果return出来?
各位好,我是请教一个常见的问题: 有一段PVS算法代码,我把它改为在OpenMP下面并行,其中在 #pragma omp parallel for 里面的共享代码区,遇到一个条件,需要return回来,但是共享代码区内不能使用return、break之类的语句,这个问题怎么解决呢? 有人说用if...else...可以解决,那具体又该怎么做呢? 可否给一段代码以供我参考?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yasaka
2012-01-09
打赏
举报
回复
谢谢intel_iclifort和intel_www,我搞定了,没有使用TASK,而是直接continue,for循环完了之后根据标志变量的值再返回那个值。
intel_iclifort
2011-12-27
打赏
举报
回复
可以考虑使用 Intel C++ 编译器看看,已经支持最新的 3.1 规范了.
安装后,只要在IDE 工程中切换到 using Intel C++ 即可
yasaka
2011-12-11
打赏
举报
回复
就是依赖了,另外,VC++ 2010似乎只支持OpenMP 2.5,TASK是3.0提出来的吧?
intel_www
2011-11-29
打赏
举报
回复
你的return条件依赖循环的计算结果吗?如果不依赖的话可以考虑用OMP TASK来替换OMP PARALLEL FOR.
yasaka
2011-11-21
打赏
举报
回复
怎么没人回答啊,好心急啊!
yasaka
2011-11-19
打赏
举报
回复
着急啊,难道没办法吗?分不够可以加啊!
很不错
OpenMP
入门资料,中文的
很不错
OpenMP
入门资料,中文的 从qq空间转载过来的,已经转成pdf 图文并茂
C/C++实现高性能并行计算——2.使用
OpenMP
进行
共享
内存编程
OpenMP
(Open Multi-Processing)是一个支持多平台
共享
内存多处理编程的应用程序接口(API),它用于编写在多处理器计算机上高效运行的程序。
OpenMP
是一种使用编译器指令以及库调用和环境变量来实现的并行编程模型。它主要用于C、C++和Fortran语言。
OpenMP
和Pthread都是统一内存访问,而MPI是非统一内存访问。
OpenMP
在编译过程中通过
代码
中的简单声明,编译器会自动进行并行(这就需要编译器支持一些操作)
OpenMP
基础知识详解及
代码
示例,学习
OpenMP
看这里就够了!
1.
OpenMP
基本介绍
OpenMP
是一个编译器指令和库函数的集合,主要是为
共享
式存储计算机上的并行程序设计使用的。目前支持
OpenMP
的语言主要有Fortran,C/C++。 1.1 fork/join并行执行模式的概念
OpenMP
在并行执行程序时,采用的是fork/joi...
openmp
学习
OpenMP
是一个支持
共享
存储并行设计的库,特别适宜多核CPU上的并行程序设计 语法
openmp
指令 parallel,用在一个
代码
段之前,表示这段
代码
将被多个线程并行执行 for,用于for
循环
之前,将
循环
分配到多个线程中并行执行,必须保证每次
循环
之间无相关性。 parallel for,用在一个for
循环
之前,表示for
循环
的
代码
将被多个线程并行执行。 sections,用在可能会被并行执行的
代码
段之前 parallel sections,parallel和sections两个语句的结合 critic
OpenMP
:
OpenMP
并行程序设计
OpenMP
并行程序设计(一)
OpenMP
是一个支持
共享
存储并行设计的库,特别适宜多核CPU上的并行程序设计。今天在双核CPU机器上试了一下
OpenMP
并行程序设计,发现效率方面超出想象,因此写出来分享给大家。在VC8.0中项目的属性对话框中,左边框里的“配置属性”下的“C/C++”下的“语言”页里,将
OpenMP
支持改为“是/(
OpenMP
)”就可以支持
OpenMP
了。先看一个简单的使用了Ope
英特尔边缘计算技术
567
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章