并行计算基础与架构解析
1 并行编程基础概念
1.1 并行程序设计步骤
并行编程的首要步骤是为给定的应用问题设计并行算法或程序。这一过程始于将应用程序的计算分解为多个部分,即任务,这些任务可以在并行硬件的核心或处理器上并行计算。
1.2 任务相关概念
- 任务粒度 :任务的大小(例如指令数量)称为粒度,通常可以选择不同大小的任务。
- 潜在并行性 :它是应用算法的固有属性,影响着应用程序如何被拆分为任务。
1.3 任务分配与调度
- 调度 :将任务分配给进程或线程,并确定任务执行的顺序。调度可以在源代码中手动完成,也可以由编程环境在编译时或运行时动态完成。
- 映射 :将进程或线程分配到物理计算单元(处理器或核心),通常由运行时系统完成,但程序员有时也可以施加影响。
1.4 任务依赖与同步
- 任务依赖 :应用算法中的任务可以是独立的,也可以相互依赖,从而导致任务的数据或控制依赖。这些依赖关系是调度的约束条件。
- 同步与协调 :并行程序需要线程和进程的同步与协调,以确保正确执行。同步和协调方法与进程或线程之间的信息交换方式密切相关,而这又取决于硬件的内存组织。
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



