|
|
57ba85d147
|
KV 融合实现完成。改动总结: 速度微弱提升psnr略微上升
attention.py — 3处改动:
1. __init__ 添加 _kv_fused = False 标志
2.新增 fuse_kv() 方法:将 to_k + to_v → to_kv,同时处理 _ip/_as/_aa 辅助 KV 对
2. bmm_forward 两个分支加_kv_fused 判断,用to_kv().chunk(2, dim=-1) 替代分别调用
|
2026-02-10 18:15:52 +00:00 |
|
|
|
f192c8aca9
|
添加CrossAttention kv缓存,减少重复计算,提升性能,psnr=31.8022 dB
|
2026-02-09 17:04:23 +00:00 |
|
|
|
a2cd34dd51
|
1. einsum('b i d, b j d -> b i j') → torch.bmm(q, k.transpose(-1,-2)) — 直接映射 rocBLAS batched GEMM
2. baddbmm 把 scale 融合进 GEMM,少一次 kernel launch
3. 第二个 einsum 同理换torch.bm
每一轮加速1到两秒
|
2026-02-08 18:54:48 +00:00 |
|
|
|
7338cc384a
|
ddim.py — torch.float16 → torch.bfloat16,修复 dtype 不匹配
attention.py — 4 处 softmax 都包裹了 torch.amp.autocast('cuda', enabled=False),阻止 autocast 将 bf16 提升到 fp32
|
2026-02-08 17:02:05 +00:00 |
|
|
|
f86ab51a04
|
全链路 bf16 混合精度修正与 UNet FLOPS profiling
- GroupNorm/LayerNorm bypass autocast,消除 bf16→fp32→bf16 转换开销
- DDIM 调度系数 cast 到输入 dtype,attention mask 直接用 bf16 分配
- alphas_cumprod 提升到 float64 保证数值精度
- SinusoidalPosEmb 输出 dtype跟随模型精度
- 新增 profile_unet.py 脚本及FLOPS 分析结果
- 启用 TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL
- case1 PSNR: 30.45 → 30.24(bf16 精度预期内波动)
|
2026-02-08 16:01:30 +00:00 |
|
|
|
75c798ded0
|
DDIM loop 内小张量分配优化,attention mask 缓存到 GPU
|
2026-02-08 14:20:48 +00:00 |
|
|
|
e6c55a648c
|
所有case的baseline,amd版本的ground truth都上传了
|
2026-02-08 09:42:14 +00:00 |
|
yuchen-x
|
d7be60f9fe
|
init commit
|
2025-09-12 21:53:41 +08:00 |
|