- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Open_CASCADE学习笔记-并行程序开发.pdf
OPEN CASCADE 学习笔记
——并行程序开发
著: Roman Lygin
译:George Feng
这 是 一 篇 关 于 开 源 三 维 建 模 软 件 O P E N C A S C A D E 内 核 的 博 文 :
R O M A N L Y G I N 是 O P E N C A S C A D E 的 前 程 序 开 发 员 和 项 目 经 理 ,
曾 经 写 过 许 多 关 于 该 开 源 软 件 开 发 包 的 深 入 文 章 ,可 以 在 他 的 博
客 ( H T T P : / / O P E N C A S C A D E . B L O G S P O T . C O M ) 上 面 找 到 这 些 文 章 。
序
在Open Cascade 的论坛上知道了Roman Lygin 在他的博客上写了
Open Cascade notes 系列文章,考虑到Open Cascade 的学习资料
并不多,于是从他的博客上下载了其中绝大部分文章,将其翻译过来以
方便大家学习交流。如果大家发现文中翻译有错误或不足之处,望不吝
赐教,可以发到我的邮箱fenghongkui@ ,十分感谢。
2012 年11 月22 日星期四
第1 节 并行程序开发综述
正如在之前的文章中提到的,我正在开发CAD Exchanger 的ACIS 导入部分,并
且将其开发成并发执行的。到目前为止结果非常理想(除了STL 的流解析,因为
之前文章中提到的Microsoft 的bug ,我安装了VS2008SP1 正在检测这个错误
是否得到了修正) 。所以我准备在这篇文章中分享我的经验,希望能够对其他开
发人员有帮助(有关并行性问题在论坛上讨论的也越来越多) 。也希望 Open
CASCADE 小组能够从我的发现中受益。
我之前已经简短介绍过几次并行应用程序开发了,再强调一下在多核时代并行应
用程序将在某个时期成为主流,你最好现在就准备好应对这个趋势。这对你的职
业路线是非常有助的,这些能力将增强你的竞争力。最近发布的Intel Parallel
Studio(它已经成为我的工具箱的很重要的部分)可以调试多线程应用程序,简化
开发人员的工作。关于并行程序开发这个方面有很多基础书籍。我现在在读的是
Timothy Mattson 等写的《Patterns for Parallel Programming》(我的一位这方
面非常熟练的同事推荐的),还有Erich Gamma 写的《Design Patterns》也是
类似的书(所有专业软件开发人员都需要读的书) 。它帮助我设计CAD Exchanger
中ACIS 导入部件的构架。
回到Open CASCADE,我可以明确的说Open CASCADE 对于并行应用程序非
常有用,但是正如其他软件库一样需要小心使用。
一般性评述
假如从较高的角度看问题,从问题领域看,而不是从一个特定的算法的角度看。
看看什么能够并发进行,什么需要顺序执行。例如,在我的初始 IGES 转换(参
考这里)实验中,我特别注意了 IGES 组的并行转换模块,这个模块运行的非常
好。但是整个程序的性能提高非常少,因为不是这部分占用的时间最多,而是
Shape Healing 占用了整个时间的50%-70%,而且该部分仍然是顺序执行的。
所以在重新设计算法之前,性能不会提高太多。我不得不重构ACIS 读取器,重
新设计传统的瀑布模型结构(其中遍历模型从根节点到叶节点) ,然后是 shape
healing 模块。由此产生了很多有价值的东西。《Design Patterns》这本书具有很
好的指导作用,可以帮助确定算法的模式。
句柄
从6.2.x 开始Open CASCADE 的句柄(Handle_Standard_Transient 的子类) 已
经对引用计数实现了线程安全。要利用这个优点,你必须定义
MMGT_REENTRANT 系统变量为非空,或者在线程之间使用句柄之前调用
Standard::SetReentrant (Standard_True),这
您可能关注的文档
- 9Cr2Mo钢中贝氏体的组织形貌.pdf
- ADINA 时间步和时间函数.pdf
- Al-0.53Zn合金近快速定向凝固条件下的胞晶间距选择.pdf
- Al-Pb合金的快速定向凝固及其模拟.pdf
- android_ROM分解定制签名教程.pdf
- AZ31镁合金单晶初始屈服行为的数值模拟2.pdf
- BC52A RDPL-c30初始产品说明书20150108.pdf
- BCNet-S7PPI用户使用指南.pdf
- CARS_SPA算法结合高光谱检测马铃薯还原糖含量_姜微.pdf
- CO吸附于PtRu合金_100_面上的DFT理论研究_张婷.pdf
- 2024年中国开口闪点试验器市场调查研究报告.docx
- 2024年中国电子体温计用温度传感器市场调查研究报告.docx
- 2024至2030年中国正负压干燥机行业投资前景及策略咨询研究报告.docx
- 2024年中国无线电频率干扰仪市场调查研究报告.docx
- 2024至2030年中国菊花油行业投资前景及策略咨询研究报告.docx
- 2024年支撑软件项目可行性研究报告.docx
- 2024年人才中介项目可行性研究报告.docx
- 2024至2030年液压动力件项目投资价值分析报告.docx
- 2024至2030年转向横拉杆接头项目投资价值分析报告.docx
- 2024至2030年中国非离子颜料分散剂行业投资前景及策略咨询研究报告.docx
文档评论(0)