跳转至

程序性能优化理论与方法

[toc]

处理器架构

image-20240131142213807

单核处理器

提高每个时钟周期内的执行效率的方式之一: 采用并行计算,分为指令级并行数据级并行

  • 指令级并行: 处理器同时执行多条指令

  • 数据级并行: 对程序中的多个数据进行相同操作

即单指令多数据SIMD, 面向SIMD扩展部件生成的对应程序称作向量程序

串行程序改为向量程序的方法一般有两种:

  • 借助自动向量化技术
  • 利用提供的扩展内嵌接口进行改写, 面向特定平台

多核处理器

多个线程可以在多个处理器核上同时执行

除指令级并行,数据级并行外,还可以开发核间的任务并行

众核处理器

具有代表性的有图形处理GPU

处理计算密度高, 逻辑分支简单的大规模的数据并行任务

image-20240131144507951

异构处理器

异构多核:将功能或性能相异的处理器通过一定的互连结构连接起来

比如用于加速信号处理的DSP处理核心, 用来加速AI处理的NPU处理核心

专用处理器

将硬件架构进行定制,并使其具备特定领域应用特征

不能解决,将CPU处理效率低下。

CUDA程序优化

评论