文件最后提交记录最后更新时间
doc Tools扫描错误修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !3348 merge master into master doc Tools扫描错误修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools扫描错误修改 See merge request: cann/ops-transformer!33482 个月前
【Feature】Introduce bsa on 950 Co-authored-by: chenyizhou<chenyizhou6@huawei.com> # message auto-generated for no-merge-commit merge: !3323 merge bsa_950_poc into master 【Feature】Introduce bsa on 950 Created-by: chenyizhou Commit-by: chenyizhou Merged-by: cann-robot Description: ## 描述 新增aclnnBlockSparseAttention的Ascend950DT/Ascend950PR实现 - 新增了aclnnBlockSparseAttention依赖的attn_infra组件与kernel文件 - 完善了tiling文件以同时支持A2/A3/Ascend950DT/Ascend950PR系列产品 - 修改了文档中的芯片支持描述、入参配置在不同代际硬件下的支持情况 ## 关联的Issue 关联Issue [#1628](https://gitcode.com/cann/ops-transformer/issues/1628) ## 测试 在当前的入参允许范围内进行了2000条用例的泛化测试,精度正常 ## 文档更新 更新了aclnnBlockSparseAttention算子说明文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!33231 个月前
README.md

BlockSparseAttention 测试套件

概述

本目录包含BlockSparseAttention算子的完整测试套件。

测试用例

1. TND格式测试

  • 基础TND格式测试: 验证标准TND [T,N,D]格式的正确性
  • 配置: batch=1, qSeq=256, kvSeq=512, heads=8

2. 不同blockShape配置测试

  • 小块测试 (32x32): 验证小块稀疏模式
  • 大块测试 (128x128): 验证大块稀疏模式
  • 非对称块测试 (64x128): 验证非对称块配置

3. 边界条件测试

  • 非对齐序列长度: qSeq=250, kvSeq=500 (不能被64整除)
  • 小序列长度: qSeq=64, kvSeq=128 (极小序列)
  • 单头配置: numHeads=1 (边界情况)
  • 多batch: batch=2 (多batch处理)

4. 稀疏度测试

  • 高稀疏度: sparsity=0.1 (10%,极稀疏)
  • 低稀疏度: sparsity=0.8 (80%,接近密集)

编译和运行

# 编译测试
cd /path/to/ops-transformer-dev
bash build.sh --soc=Ascend910B3

# 运行测试
./test_rain_fusion_attention

测试输出

测试会输出每个用例的执行结果:

--- Test: Basic TND Format ---
Config: batch=1, qSeq=256, kvSeq=512, heads=8, blockShape=[64,64]
Result: PASS

======================================
  Test Summary
======================================
Total tests:   10
Passed:        10 (100%)
Failed:        0
Skipped:       0
======================================

添加新测试

test_rain_fusion_attention.cpptests向量中添加新的TestConfig:

tests.push_back({
    batch,          // batch size
    qSeqlen,        // Q sequence length
    kvSeqlen,       // KV sequence length
    numHeads,       // number of heads
    numKvHeads,     // number of KV heads
    headDim,        // head dimension
    blockShapeX,    // block shape X
    blockShapeY,    // block shape Y
    sparsity,       // sparsity ratio
    "Test Name"     // test name
});

注意事项

  1. 测试需要在有昇腾设备的环境中运行
  2. 确保CANN环境已正确配置
  3. 测试使用固定随机种子以保证结果可复现
  4. 当前仅支持TND格式,BNSD格式测试会被跳过