SuperAPI AI 工具集

rocm-kernels

设计与创作

查看项目

更新于 10-15 22:15

技能介绍

用途:为 AMD GPU(MI355X、R9700)在 ROCm 上编写与基准测试优化的 Triton 内核,并集成到 HuggingFace diffusers(LTX-Video、SD3、FLUX)与 transformers 中。

主要能力:提供 RMSNorm、RoPE 3D、GEGLU、AdaLN 四类内核的实现模式与调优建议;支持内核级微基准、端到端流水线基准(baseline / Triton / torch.compile 对比);给出 MI355X 与 R9700 的架构差异(Wave 大小、LDS、带宽)与性能预期。

使用方式:需设置环境变量 TRITON_HIP_USE_BLOCK_PINGPONG=1 与 TRITON_HIP_USE_ASYNC_COPY=1。示例命令:python scripts/benchmark_kernels.py --kernel rmsnorm;python scripts/benchmark_e2e.py --mode all。集成时先注入内核再启用 CPU offload。

适用场景:为 AMD GPU 编写或优化上述内核、与 diffusers 流水线集成、对比 PyTorch 基线做 ROCm 基准测试、调试 ROCm/HIP 特有问题。

限制:ROCm 上 tl.libdevice.tanh、tl.math.tanh、tl.libdevice.log1p 不可用,需手写公式;不支持 break/continue,需用 tl.where;min/max 需用 tl.minimum/tl.maximum;BLOCK_D 不可 autotune,须用 triton.next_power_of_2(D);RoPE 在 batch>1 时需用 pid_s % seq_len 索引 cos/sin;LTX-Video 使用 GELU 而非 GEGLU,且 RMSNorm 权重可能为 None。具体安装与依赖要求暂未提供。