Files
2026-05-16 17:16:51 +08:00

6.9 KiB
Raw Permalink Blame History

第四章 数据级并行 - 考试考点精细化梳理


考点分级

【必考核心考点】

1. 向量体系结构三种计算方式(选择题/简答题高频)

核心考法:选择题、填空题、简答题(★★★★★)

三种计算方式

方式 别名 特点 适用场景
横向计算Horizontal 点积计算 一个元素操作后切换到下一行 不适合向量机
纵向计算Vertical 向量点积 所有元素执行相同操作 向量机最佳
分组计算Strip Mining 分段开采 按向量长度分段处理 解决向量长度限制

向量计算模式

横向for(i=0;i<N;i++) for(j=0;j<M;j++) C[i][j] = A[i][j] + B[i][j]
纵向for(i=0;i<N;i++) for(j=0;j<M;j++) C[j] = A[j] + B[j]  (按列操作)
分组按向量长度VL分段每次处理VL个元素

考试重点

  • 区分三种计算方式的特点
  • 理解为什么向量机采用纵向/分组计算而非横向
  • 能判断给定计算属于哪种方式

常见陷阱

  • 将"分组计算"等同于"分段开采"(实质相同)
  • 混淆"编队"和"链接"概念

答题话术

向量处理机的三种计算方式:

1. 横向计算Horizontal每个向量元素依次执行操作
   每次操作后需切换到下一个元素。不适合向量机,因为
   无法发挥向量指令优势。

2. 纵向计算Vertical所有元素执行相同操作
   如向量加法、向量乘法。适合向量机,效率最高。

3. 分组计算Strip Mining当向量长度超过机器限制时
   将向量分成多个组,每组按纵向方式处理。
   解决向量长度无限大的问题。

得分要点:能正确说出三种方式的名称和主要特点是基本要求。


2. GPU的SIMT执行模型选择题/简答题必考)

核心考法:选择题、填空题、简答题(★★★★★)

核心概念

  • SIMTSingle Instruction Multiple Thread单指令多线程
  • Warp32个线程为一组同时执行相同指令
  • ThreadGPU调度的基本单位

SIMT vs SIMD

特性 SIMD SIMT
执行单位 向量lanes Warp threads
灵活性 同一指令 可分支divergence
调度 硬件静态 硬件动态
编程模型 隐式 显式CUDA/OpenCL

考试重点

  • 理解SIMT如何结合SIMD和多线程优势
  • 理解warp调度和线程切换机制
  • 理解GPU如何通过大量warp切换掩盖访存延迟

常见陷阱

  • 将SIMT等同于SIMD
  • 混淆"warp"和"线程块"概念

答题话术

GPU采用SIMTSingle Instruction Multiple Thread执行模型

1. Warp是GPU调度的基本单位包含32个线程
2. 同一warp内所有线程执行相同指令但处理不同数据
3. 当线程分支if/else不执行的线程被屏蔽
4. GPU通过快速切换warp来掩盖访存延迟

SIMT相比SIMD的优势
- 支持线程级并行,可处理条件分支
- 硬件动态调度,无需编译器调度
- 适合数据级并行工作负载

3. GPU设计思想排除题谭婧炜佳老师题目

核心考法:选择题(★★★★★)

题目特征

思考Nvidia GPU中不包含以下哪种设计思想
A. SIMD       B. 多线程      C. MIMD       D. VLIW
E. 乱序执行   F. Tomasulo

答案C MIMD、D VLIW、E 乱序执行、F Tomasulo

解析表格

设计思想 GPU是否包含 说明
SIMD 包含 GPU计算单元以SIMD方式执行
多线程 包含 GPU以warp为单位调度大量线程
MIMD 不包含 GPU是单一指令流
VLIW 不包含 Nvidia GPU不采用VLIW
乱序执行 不包含 GPU顺序执行
Tomasulo 不包含 CPU动态调度算法

常见陷阱

  • 误以为GPU是多核MIMD
  • 将SIMT误认为是MIMD

答题要点GPU采用单一指令流SIMD+ 多线程SIMT不是MIMD不支持乱序执行。


【高频考点】

4. 向量处理机优化技术

核心考法:选择题、简答题(★★★★☆)

四大优化技术

  1. 多车道Multiple Lanes:多个执行单元并行
  2. 链接Pipelining:功能单元流水化
  3. 编队Clustering:多个功能单元分组
  4. 分段开采Strip Mining:处理长向量

编队技术

编队是将向量功能单元分组每组称为一个编队cluster。
同一编队内的功能单元可以并行工作,
不同编队之间需要通过向量寄存器文件通信。

5. SPMD编程模型

核心考法:选择题、简答题(★★★★☆)

核心概念

  • SPMDSingle Program Multiple Data单程序多数据
  • 多个进程/线程执行相同程序,处理不同数据

SPMD vs SIMD

特性 SPMD SIMD
层次 编程模型 硬件架构
灵活性 可分支 同一指令
实现 软件 硬件

典型题目SPMD程序如何在SISD或MIMD上运行

答题话术

SPMD程序在不同架构上的运行方式

SISD上运行
- 将Multiple Data拆成多次Single Data
- 通过循环逐个处理数据
- 变为SISD模式执行

MIMD上运行
- 将Single Program的每条指令多次重复
- 多个核心同时执行相同程序
- 变为MIMD模式并行处理

【了解考点】

6. VMIPS向量处理器

考法:选择题、填空题

特点

  • 8向量寄存器每个64元素
  • 2个乘法单元2个加法单元
  • 向量load/store单元
  • 支持链接技术

典型思考题解题示范

题目思考Nvidia GPU中不包含以下哪几种设计思想

答案要点

Nvidia GPU不包含以下设计思想

1. MIMDGPU采用单一指令流SIMT不是多指令流
2. VLIWNvidia GPU采用硬件动态调度不采用VLIW
3. 乱序执行GPU采用顺序执行In-Order
4. Tomasulo这是CPU中的动态调度算法GPU不使用

GPU采用的设计思想
- SIMD计算单元以SIMD方式执行
- 多线程warp调度器管理大量线程
- 硬件动态调度SIMT
- 标量ISA + 硬件组合成SIMD

本章核心概念速记

1. 向量三种计算:横向(不适合向量机)、纵向(适合)、分组/分段开采(解决长度限制)
2. SIMT单指令多线程warp=32线程GPU调度基本单位
3. GPU不含MIMD、VLIW、乱序执行、Tomasulo
4. GPU含SIMD、多线程、SIMT、硬件动态调度
5. SPMD编程模型单程序多数据
6. 向量优化:多车道、链接、编队、分段开采
7. 编队:功能单元分组,减少向量寄存器带宽需求
8. GPU访存优化coalescing合并访问、shared memory共享内存