| move codeowners file to root dir | 24 days ago |
| [Build] update CANN toolkit download URL to 9.1.0 Assisted-by: Trae GLM-5.2 | 12 days ago |
| !2797 merge fix-infer-memscope-whileop into master [Huawei][AscendNPU IR] fix: InferHIVMMemScope whileOp bugfix Created-by: zhufang_hw Commit-by: zhufang_hw Merged-by: zhuyichen1201 Description: ## 描述 Description 请提供此 Pull Request 的高级别说明。 Please describe what this PR is about. ## 类型 Category - [ ] Bug修复 Bugfix - [ ] 新功能 New feature - [ ] 代码风格更新(格式化,局部变量)Style changes - [ ] 重构(即不是新增功能,也不是修改bug的代码变动)Refactor - [ ] 构建过程或辅助工具的变动 Build-related - [ ] 文档内容更新 Docs ## Checklist - [ ] 我的代码遵循这个项目的代码风格 My code follows the project's code style - [ ] 我已经自己测试过我的代码 I have self-tested my code - [ ] 我已经更新了相应的文档 I have updated the relevant documentation - [ ] 我已经根据需要更新了对应的变更日志 I have updated the changelog as needed - [ ] 我已经在标题中正确使用了类型标签(例如:feat:, fix:)I have correctly used type labels in the title (e.g., feat:, fix:) See merge request: Ascend/AscendNPU-IR!2797 | 1 hour ago |
| Revert "!2758 merge fix/remove-one-shot-bufferize-lit-filter into master" This reverts commit c45b5fc5d9b22c511984c3c07c791144eac758b2, reversing changes made to eabfb8ea75a2ad5e115e0368cb08190da2b255f9. | 5 days ago |
| revert remote | 1 month ago |
| Specification of Standard Terms | 21 days ago |
| [AscendNPU IR] update llvm | 5 days ago |
| [BiShengIR] add clang-format/tidy | 1 year ago |
| Fix clang-tidy naming rule | 9 months ago |
| Add multi-architecture Dockerfile and .dockerignore | 2 months ago |
| [Huawei][AscendNPU IR] feat: Support ssbuf address space and related operations for Triton-level integration ## 1. Overview / 概述 ### English This PR integrates the ssbuf address space (ID 11) into the A5 compilation flow of the HIVM dialect. It enables manual memory mapping and address management via hivm.hir.pointer_cast and standard memref.load/memref.store operations. This implementation bypasses standard MLIR memory allocation (memref.alloc) to satisfy the custom scalar-to-vector interaction pipeline required by Triton-Ascend. ### 中文 本 PR 在 HIVM 方言的 A5 编译流程中集成了对 ssbuf 地址空间(ID 11)的支持。它通过 hivm.hir.pointer_cast 以及标准的 memref.load/memref.store 操作实现了手动的内存映射与地址管理。该实现绕过了标准的 MLIR 内存分配(memref.alloc),以满足 Triton-Ascend 所需的自定义标量与向量交互流水线。 ## 2. Key Changes / 关键变更 ### English - **bishengir/include/bishengir/Dialect/HIVM/IR/HIVMAttrs.td**: - Registered HIVM_AddressSpace_SSBUF mapping to address space ID 11. - Updated the description of HIVM_AddressSpaceAttr to officially cover SSBUF. - **bishengir/lib/Dialect/Analysis/Initializer.cpp**: - Added hivm::PointerCastOp to the list of recognized head operations in DimensionAnalyzerBase::isHeadOperation. - **bishengir/lib/Dialect/HIVM/Utils/Utils.cpp & PlanMemory.cpp**: - Added the isSsbuffer helper function to verify if an address space corresponds to SSBUF. - Modified isLocalBuffer to classify SSBUF as non-local, ensuring its behavior aligns with global memory (GM). - Added an explicit compile-time safety assertion in PlanMemory (GenerateBufferInfo) to throw a compile error (llvm_unreachable) if any allocation-like operation (such as alloc) is attempted on SSBUF. ### 中文 - **bishengir/include/bishengir/Dialect/HIVM/IR/HIVMAttrs.td**: - 注册了映射至地址空间 ID 11 的 HIVM_AddressSpace_SSBUF。 - 更新了 HIVM_AddressSpaceAttr 的描述,使其正式涵盖 SSBUF。 - **bishengir/lib/Dialect/Analysis/Initializer.cpp**: - 在 DimensionAnalyzerBase::isHeadOperation 中将 hivm::PointerCastOp 添加到已识别的 Head 操作列表中。 - **bishengir/lib/Dialect/HIVM/Utils/Utils.cpp & PlanMemory.cpp**: - 增加了 isSsbuffer 辅助函数以验证地址空间是否对应 SSBUF。 - 修改了 isLocalBuffer 逻辑,将 SSBUF 判定为非 Local 空间(行为与 GM 保持一致)。 - 在 PlanMemory 阶段(GenerateBufferInfo)中增加了显式的编译期安全断言:若在 SSBUF 上尝试进行类似分配的操作(如 alloc),将触发编译报错(llvm_unreachable)。 ## 3. Technical Deep-Dive / 技术细节剖析 ### English 1. **Dimension Analysis Integration**: Registering hivm::PointerCastOp as a head operation in DimensionAnalyzerBase is critical for correct dimension flattening. When FlattenOp evaluates load/store operations on manually casted pointers, it can now properly track and identify collapse groups instead of failing on assertions. 2. **Allocation Restriction**: Since ssbuf addresses are explicitly mapped using pointer_cast before the memory planning phase, no memory allocator is expected to provision memory for it. The check inside PlanMemory.cpp enforces this model by preventing any standard MLIR alloc-like semantics on the SSBUF address space. ### 中文 1. **维度分析集成**:在 DimensionAnalyzerBase 中将 hivm::PointerCastOp 注册为 Head 操作,对于保证维度平坦化(Flattening)的正确性至关重要。当 FlattenOp 处理作用在手动转换指针之上的 load/store 时,它现在可以正常跟踪并识别折叠组(Collapse Groups),而不会因找不到折叠组而触发断言失败。 2. **分配限制**:由于 ssbuf 的地址在内存规划阶段前已被用户通过 pointer_cast 明确手动映射,因此无需内存分配器为其分配空间。PlanMemory.cpp 内部的校验强制执行了该模型,阻止在 SSBUF 地址空间上进行任何标准的 MLIR alloc 语义分配。 ## 4. Impact & Risk Assessment / 影响与风险评估 ### English - **Breaking Changes**: No. - **Performance Impact**: Positive. Bypassing manual synchronization on the hardware-synchronized scalar pipe prevents redundant performance overhead. - **Backward Compatibility**: Fully backward compatible; existing GM and local buffer allocation policies remain unchanged. ### 中文 - **破坏性变更**: 否。 - **性能影响**: 积极。绕过硬件已同步的标量流水线上的手动同步,避免了额外的性能开销。 - **向后兼容性**: 完全向后兼容;现有的 GM 和 Local 缓存分配策略保持不变。 ## 5. Verification & Testing / 测试与验证方法 ### English - **Unit Tests Added/Modified**: - Added mark-stride-align-ssbuf.mlir to verify that SSBUF memory operations are correctly marked and bypassed. - Added verification test cases to plan-memory.mlir, inject-sync.mlir, hivm-insert-cv-tight-coupled-buffer.mlir, hivm-mark-disable-load.mlir, and hivm-flatten-ops.mlir to assert that ssbuf operations are processed properly without undergoing local buffer transformations. ### 中文 - **单元测试新增/修改**: - 新增了 mark-stride-align-ssbuf.mlir 测试,以验证 SSBUF 内存操作被正确识别并被相关 Pass 安全绕过。 - 在 plan-memory.mlir、inject-sync.mlir、hivm-insert-cv-tight-coupled-buffer.mlir、hivm-mark-disable-load.mlir 和 hivm-flatten-ops.mlir 中添加了验证性测试用例,断言 ssbuf 操作能够被正常解析,且不参与任何 Local 空间的优化转换。 | 30 days ago |
| [VFFusion] remove REQUIRES in testcases and migrating gitmessage | 16 days ago |
| [test] test the to_buffer op revert merge request: [test] test the to_buffer op e0ff516be2ae5ff2758b1607dfbcf7a8ca764b3e This revert merge request !1569 | 1 month ago |
| add precommit | 12 days ago |
| [SIMT] Adds Triton and TritonExt dialects and related passes/utils | 1 month ago |
| add doc codeowner | 14 days ago |
| [AscendNPU IR] Add HFusion Co-authored-by: chenxiangting<chenxiangting@huawei.com> | 10 months ago |
| [AscendNPU IR] Add HFusion Co-authored-by: chenxiangting<chenxiangting@huawei.com> | 10 months ago |
| [AscendNPU IR] Add OWNERS Co-authored-by: SL25<L912572014@163.com> | 10 months ago |
| [DOC] update readme add some badges | 4 months ago |
| [DOC] update readme add some badges | 4 months ago |
| [Huawei][AscendNPU IR] add notice for open source software Signed-off-by: tianjihua <tianjihua@huawei.com> | 4 months ago |