跳到主要内容

MUSA 术语表

GPU 编程基础​

术语英文说明
线程ThreadGPU 执行的最小单元,每个线程执行相同的代码但处理不同的数据
线程块Thread Block一组线程的集合,同一线程块内线程可同步
网格Grid所有线程块的集合,定义了内核的整体执行范围
流多处理器Streaming MultiprocessorGPU 的核心计算单元,负责执行线程块
线程束Warp32 个线程的集合,是流多处理器调度的基本单位
单指令多线程Single Instruction Multiple Threads单指令多线程架构,多个线程执行相同指令

MUSA​

术语英文说明
MUSAMeta-computing Unified System Architecture元计算统一系统架构
musifymusifyCUDA 到 MUSA 的代码迁移工具
muBLASMUSA Basic Linear Algebra SubprogramsMUSA 基础线性代数子程序库
muDNNMUSA Deep Neural NetworkMUSA 深度神经网络库
muFFTMUSA Fast Fourier TransformMUSA 快速傅里叶变换库
muRANDMUSA Random Number GenerationMUSA 随机数生成库
MCCMUSA C CompilerMUSA C 编译器

内存​

术语英文说明
全局内存Global MemoryGPU 设备上的主内存,所有线程可访问,延迟较高
共享内存Shared Memory位于流多处理器内部的快速内存,同一线程块内线程共享
寄存器Register每个线程私有的高速寄存器,访问速度最快
常量内存Constant Memory缓存的只读内存,适合存储不变的数据
纹理内存Texture Memory优化的只读内存,支持空间局部性访问
局部内存Local Memory线程私有的内存,用于寄存器溢出
主机内存Host MemoryCPU 端的系统内存

执行​

术语英文说明
内核Kernel在 GPU 上执行的并行函数
流Stream异步操作队列,保证操作顺序
同步Synchronization等待 GPU 操作完成
动态并行Dynamic Parallelism从 GPU 启动新的内核
主机函数Host Function在 CPU 端执行的函数
设备函数Device Function在 GPU 端执行的函数
网格配置Grid Configuration定义线程块和线程数量的参数

BLAS​

术语英文说明
一级 BLASLevel 1 BLAS向量 - 向量操作,如点积、axpy
二级 BLASLevel 2 BLAS矩阵 - 向量操作,如矩阵向量乘法
三级 BLASLevel 3 BLAS矩阵 - 矩阵操作,如矩阵乘法

深度学习​

术语英文说明
卷积Convolution深度学习中的核心操作之一
池化Pooling降采样操作,包含最大池化和平均池化
激活函数Activation Function非线性函数,如 ReLU、Sigmoid、Tanh
全连接层Fully Connected Layer神经元与上一层全部连接
批量归一化Batch Normalization标准化层,加速训练
循环神经网络Recurrent Neural Network处理序列数据的神经网络
长短期记忆Long Short-Term Memory特殊的循环神经网络
注意力机制AttentionTransformer 架构的核心

性能优化​

瓶颈类型​

术语英文定义判断标准
计算瓶颈Compute-Bound性能受限于 GPU 计算单元吞吐量算术强度高,FP32/FP64 吞吐量接近峰值
内存瓶颈Memory-Bound性能受限于全局内存带宽算术强度低 (\≤10 FLOP/Byte),内存吞吐量接近峰值
延迟瓶颈Latency-Bound性能受限于指令流水线延迟每流多处理器活跃线程束数低,实际占用率低 (小于30%)
同步瓶颈Synchronization-Bound性能受限于线程同步开销流利用率低,__syncthreads() 调用频繁

性能指标​

术语英文定义说明
MP 效率MP Efficiency流多处理器实际利用率实际执行的指令数与理论最大指令数之比,大于 80% 表示计算单元充分利用
内存吞吐量Memory Throughput全局内存实际数据传输速率包括读取吞吐量和写入吞吐量,接近峰值带宽表示内存瓶颈
浮点运算吞吐量FP32/FP64 Throughput每秒执行的浮点运算数量衡量计算单元实际性能
L2 缓存命中率L2 Cache Hit RateL2 缓存访问命中比例低命中率可能导致内存瓶颈
每 MP 活跃线程束数Active Warps per MP流多处理器上同时活跃的线程束数量低值表示延迟瓶颈
实际占用率Achieved Occupancy实际活跃线程束与最大线程束的比率低于 30% 可能表示延迟瓶颈
分支发散Branch Divergence同一线程束内线程执行不同分支路径高分支发散导致线程束串行化执行
内存延迟Memory Latency从请求数据到数据就绪的时间高延迟需要足够占用率来隐藏
流利用率Stream UtilizationGPU 流实际使用时间占比低值表示同步开销过大

屋顶模型​

术语英文定义公式/单位
屋顶模型Roofline Model可视化 GPU 性能上限的模型,显示内核性能与硬件极限的关系-
算术强度Arithmetic Intensity每从内存中读取一个字节的数据,程序可以执行的浮点运算数FLOP/Byte
脊点Ridge Point屋顶模型图表中内存带宽极限与峰值计算性能的交点,决定内存/计算瓶颈的平衡点FLOP/Byte
峰值计算性能Peak Compute PerformanceGPU 理论上每秒可执行的最大浮点运算数FLOPS
内存带宽极限Memory Bandwidth LimitGPU 每秒可从全局内存读取/写入的最大数据量GB/s

占用率​

术语英文定义
占用率Occupancy流多处理器上活跃线程束数量与最大线程束数量的比率
活跃线程束Active Warp当前在流多处理器上已分配资源并准备执行的线程束

内存访问优化​

术语英文定义
合并访问Coalesced Access线程束中的线程访问连续对齐的内存地址,硬件将多个请求合并为更少的内存事务
非合并访问Uncoalesced Access线程访问不连续或不对齐的内存地址,导致多个内存事务,带宽利用率低
存储体冲突Bank Conflict多个线程同时访问共享内存的同一 Bank,导致访问序列化
向量化访问Vectorized Access使用宽数据类型(如 float4)一次加载多个元素,提高带宽利用率

性能分析工具​

术语英文说明
Moore Perf ComputeMoore Perf ComputeMTGPU 性能分析工具
muPTIMUSA Performance Tools InterfaceMUSA 性能分析工具接口,提供底层性能计数器访问
性能计数器Performance Counter硬件单元记录的性能指标,如内存吞吐量、计算单元利用率等
重放Replay为获取完整指标集,多次执行内核的过程

优化技术​

术语英文说明
循环展开Loop Unrolling减少循环控制开销,提高指令级并行度
融合乘加Fused Multiply-Add一条指令完成乘法和加法,fmaf(a, b, c) = a * b + c
线程束分化Warp Divergence同一线程束内线程执行不同分支,导致串行化执行
指令级并行Instruction Level Parallelism单个线程内同时执行多条独立指令
归约算法Reduction将数组归约为单个值的并行算法(如求和、最大值)

Triton​

术语英文说明
Triton 内核Triton Kernel用 Triton 语言编写的 GPU 内核
自动调优器Autotuner自动优化内核参数的工具
计算块BlockTriton 中的计算块
并行程序ProgramTriton 中的并行程序单元

计算能力​

术语英文说明
计算能力Compute CapabilityGPU 硬件架构版本号
峰值浮点性能Peak FLOPSGPU 每秒可执行的最大浮点运算次数
显存带宽Memory Bandwidth显存数据传输速率

其他​

术语英文说明
主机HostCPU 和系统内存
设备DeviceGPU 和显存
异步Asynchronous不阻塞 CPU 执行的操作
页锁定内存Pinned Memory页锁定内存,加速数据传输
零拷贝Zero-Copy避免数据在主机和设备间复制