第2章并行化程序设计方法.pptVIP

  • 1
  • 0
  • 约1.21万字
  • 约 21页
  • 2017-07-16 发布于四川
  • 举报
引言 引言 1.并行化程序开发流程 2.并行化程序设计 2.并行化程序设计 问题的可并行性 是否可以将问题划分为不同的功能模块分别完成 针对需要处理的数据是否可以划分为若干数据块同时操作 是否可以将一个复杂的过程划分为若干个子操作流水执行 2.并行化程序设计 相关性分析 确定必要的通信和同步机制; 分析这些并行化可能会带来的额外的开销 开销是否是必要的? 是否是有价值的? 是否是可以承受的? 额外的开销可能包括程序本身的开销,也可能是经济,资源,人力等方面开销。 2.并行化程序设计 问题1:数据竞争 解决方法:临界区、互斥、同步。 临界区 互斥 同步 问题2:死锁 解决方法:先来先服务 举例说明。 2.并行化程序设计 问题分解 最常用的分解模式有任务分解,数据分解和数据流分解。 任务分解是将问题划分为多个功能模块分别由不同的线程去执行;举例。 数据分解是将待处理数据分成若干不同的数据块交由不同的线程去执行;举例。 数据流分解是将一个复杂的操作划分成若干个简单的子操作,数据在子操作间按照一定的顺序依次计算。举例。 2.并行化程序设计 数据的求和累加; 下列程序如何并行: for(int i=0;i20;i++) { for(int i=0;i40;i++) { doSomething(); } } 2.并行化程序设计 算法设计结构 任务分解采用各任务并

文档评论(0)

1亿VIP精品文档

相关文档