并行程序设计基础知识

并发:同时多任务处理。

并行:同一时刻有多个任务同时运行。

并行度:某一个时刻同时运行的任务的数量。

并行算法:对并行过程的精确描述。分类包括:

  1. 数值与非数值计算并行算法;

  2. 同步与异步并行算法;

  3. 共享存储分布存储并行算法。

粒度:是一个用于衡量计算与通信量的度量

通信量:指线程之间或者进程指甲剪进行数据共享或消息传递的开销。

应用的粒度:计算量与通信量的比值。应用的粒度有差别,在不同设备上跑的情况不一样,瓶颈不一样。通过粒度调整代码的运行的效率。

加速比:对于一个给定的应用,并行程序的执行速度与对应的串行程序的执行速度之间的倍数关系。该指标是设计并行程序的核心。串行比例越多,加速比越小,呈现倒数关系(Amdal定律);放大问题规模后,加速比随着处理器数量的增多而增多。

并行程序设计基础知识_第1张图片

并行程序设计方法:数据并行模式;任务并行模式;流水线模式;任务调度并行模式;分治模式

CPU与GPU的计算差异:GPU有告诉浮点计算能力,但是指令控制能力没CPU强。

CPU对应运行时间比较敏感的应用,GPU侧重于对数据吞吐量的负载。





你可能感兴趣的:(并行程序设计基础知识)