科学计算与企业级应用的并行优化.html.pdfVIP

科学计算与企业级应用的并行优化.html.pdf

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
序 到这里 ,终于可以松一 口气了 ,一个持续多年的工作总算可以告一段落了。本系列 源于我2012年想写的 《并行乱弹》一 书 ,乱弹是乱弹琴的意思。按我的本意 ,并不想把它写成一本非常严谨的著作 ,当时更无意出版 ,因此并不是非常注意全书逻辑 的严密性 ,虽然经过我和编辑的多次修改 ,但想必问题依 旧难以避免 ,在此诚恳地请求读者谅解。 本系列的3本书相互之间有联系 ,也有其独立性 : 《并行算法设计与性能优化》介绍常见的串行代码优化方法和并行算法的 设计 ; 《并行编程方法与优化实践》介绍常见的向量化和并行编程环境及一些实例 ; 《科学计算与企业级应用的并行优化》则介 绍领域相关的算法与应用的性能优化。 如果说要写一本简短的武侠小说来描写主角是如何学习这3本 “秘笈”的话 ,我想故事是这样的 :在2015年 ,主角是某位 内 向宅男码农hpc ,因为程序速度太慢天天被产品经理骂 ,受项 目经理 白眼,每天工作到晚上10点 ,遭到家人埋怨。在某个月黑风 高的晚上 ,某条街道上那位江湖人称 “风辰”的 “HPC帮”护法长老收hpc为不记名弟子 ,并传授给hpc 《并行算法设计与性能 优化》 《并行编程方法与优化实践》及 《科学计算与企业级应用的并行优化》3本 “秘笈” , “风辰”临走时收了传功费用1024 万元。hpc如获至宝 ,休假一月潜心修炼。一月后出关 ,容光焕发 ,程序速度大幅度提升 ,产品经理天天请吃大餐 ,项 目经理忙 着加项 目奖金。此后 ,hpc每天下午5点即下班回家 ,修身养性 ,陪家人一 吃饭、购物。 愿这3本书能够真正成为改变读者生活的良师益友 ! 风辰 2015年5 月17 日于深圳 前言 IT行业急需这本书 和本系列的前两本书一样 ,在解释为什么笔者认为软件工程师需要这本书之前 ,笔者先来介绍并行、并发和代码性能优化这 3个概念 ,因为理解这3个概念是阅读本系列3本书的基础。 ·并行对应 的英文单词是parallelis ,是指在具有 多个处理单元的系统上 ,通过将计算或数据划分为多个部分 ,将各个部分 分配到不同的处理单元上 ,各处理单元相互协作 ,同时运行 ,以达到加快求解速度或者提 高求解 问题规模 的 目的。 ·并发对应 的英文单词是concurrency ,是指在一个处理单元上运行 多个应 用,各应 用分时占用处理单元 ,是一种微观上 串 行、宏观上并行 的模 式,有 时也称其为时间上 串行、空间上并行 。 ·代码性能优化是指通过调整源代码 ,使得其生成的机器指令能够更高效地执行 ,通常高效是指执行 时间更少、使用的存储 器更少或能够计算更大规模 的问题。 从大的方面来说 ,并行和并发都是代码性能优化的一种方式 ,但是今天并行和并发已经是如此重要 ,以至于需要 “开宗立 派”。为了明晰并行、并发和代码性能优化的边界 ,在本书中,代码性能优化特指除了并行和并发以外的代码优化方法 ,比如向 量化和提高指令流水线效率。在本书中,笔者将向量化独立出来解说。 2003年以前 ,在摩尔定律的作用下 ,单核标量处理器的性能持续提升 ,软件开发人员只需要写好软件 ,而性能的提升就等 待下次硬件更新来解决 ,在2003年之前的几十年里 ,这种 “免费午餐”模式一直在持续。2003年后 ,主要 由于功耗的原因,这 种 “免费午餐”已经不复存在。为了生存 ,各硬件生产商不得不采用各种方式提高硬件的计算能力。目前最流行的3种方式如 下 : 1)让处理器在一个周期处理多条指令 ,多条指令可相同可不同。如Intel Haswell处理器一个周期可执行4条整数加法指 令、两条浮点乘加指令 ,而访存和运算指令也可同时执行。 2)使用向量指令 ,主要是SIMD和V LIW技术。SIMD技术将处理器一次能够处理的数据位数从字长扩大到 128或256位 ,也 就提升了计算能力。 3)在同一个芯片中集成多个处理单元

文档评论(0)

紫竹语嫣 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档