MUSA C++ 语法概述
为什么需要语法层
编程模型提供 GPU 并行计算的抽象概念:
- 线程层次结构:网格 → 线程块 → 线程
- 内存层次结构:全局/共享/寄存器
- 执行模型:SIMT 执行,线程束调度
MUSA C++ 语法将这些概念转换为可执行代码:
编程模型概念 语法表达 API 调用
↓ ↓ ↓
线程层次结构 → threadIdx, blockIdx → musaMalloc, musaMemcpy
内存层次结构 → __shared__ → musaMemPrefetchAsync
执行模型 → __syncthreads() → musaDeviceSynchronize
详细语法参考:MUSA C++ 语言扩展
API 层次结构
MUSA 提供两层 API: