并行计算基础知识总结归纳1

理论峰值速度

理论峰值速度=CPU主频×每个时钟周期执行的浮点运算次数

时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。
一般情况下,主频大约为2G赫兹,每个时钟周期运行浮点运算次数和CPU有关。

个人电脑主频和核心数查看-windows版本

查看个人电脑主频

控制面板→系统和安全→系统
个人电脑主频情况
可知联想小新的CPU为i5-8250U,主频为1.6GHz。

查看电脑核心数

CTRL+ALT+DELETE调出任务管理器,然后点其中的性能选项。
查看系统核心数
系统有4个核心,还可以看到L1,L2,L3缓存是多少。

估算计算量必须的知识

存储容量

在64位计算机中,一个双精度浮点数占用8个字节(byte),整数占用4个字节。从而我们大致分析一下250个整数大约为1kb,从而1GB=2.5*10^8个整数,大约为千万个整数量级。

微处理器的存储机构

分为CPU,Primary Cache,Secondary Cache,Main Memory这几级结构。

高性能计算机发展的不同阶段
  1. 器件变革阶段:电子管→晶体管→集成电路
  2. 体系结构变革:向量机→大规模并行→机群→异构并行
  3. 计算原理变革:功耗墙的存在!!!

并行算法中的基本概念

任务划分:数据划分,功能划分
并行粒度

并行粒度:描述任务的数量和尺寸
细粒度:大量的小任务
粗粒度:少量的大任务

并行度(并发度)

在指定时刻,可同时执行的任务的数量。

进程,线程,处理器和结点概念澄清

进程(Process):一段串行程序连同其数据在单处理机上的动态执行过程,每个进程拥有独立的内存地址空间。
线程(Thread):由进程创建,属于同一进程的所有线程拥有相同的内存地址空间。
处理器(CPU):晶体管,逻辑块,功能单元
结点(Node):处理器,内存。
一般来说,进程(逻辑)对应的是核心数(物理),虽然说MPI可以给出超过核心数的进程数,但那是一种假并行。

并行性能的考察指标

主要开销:串行计算所花的时间,进程间交换数据所需要的通信开销,进程间相互等待产生的空闲,由于并行而引入的额外计算。
加速比:串行执行时间和并行执行时间的比值。
并行效率:加速比与进程数的比值,即为下面的公式
E p = T s P × T p E_p=\frac{T_s}{P \times T_p}
其中P为并行程序执行进程数, T p T_p 为并行程序执行时间, T s T_s 为算法的串行实现执行时间。
可扩展性:并行效率与问题规模,处理机数目之间的关系。

上机测试实例

矩阵乘法中不同循环顺序对程序性能的影响–待实践

Cache结构对程序性能的影响。

猜你喜欢

转载自blog.csdn.net/sinat_30967935/article/details/82951250