文件最后提交记录最后更新时间
【docs】文档修改-增加API参考&加速API Co-authored-by: xiao-qing123<xiaoqing14@h-partners.com> # message auto-generated for no-merge-commit merge: !263 merge dev into dev 【docs】文档修改-增加API参考&加速API Created-by: xiao-qing123 Commit-by: xiao-qing123 Merged-by: ascend-robot Description: fixes [#86](https://gitcode.com/Ascend/MindIE-SD/issues/86) 1、新增API参考(社区API接口) 2、新增加速API(原社区layer层) 3、删除readme中的快速入门和单多卡并行示例内容(有单独的quick_start承载) 4、算子融合单独拆分出来,在特性章节独立存在 5、删除特性章节目录名称中的“加速特性” 6、黄区大模型检测问题修改 See merge request: Ascend/MindIE-SD!2631 个月前
[bugfix]aclgraph fix:clone static inputs in ACLGraph capture to prevent stale data_ptr precision issue Co-authored-by: hyh_hh<huyinghong1@huawei.com> # message auto-generated for no-merge-commit merge: !326 merge aclgraph into dev [bugfix]aclgraph fix:clone static inputs in ACLGraph capture to prevent stale data_ptr precision issue Created-by: hyh_hh Commit-by: hyh_hh Merged-by: ascend-robot Description: # Purpose ACLGraph 后端精度修复与内存优化: - 修复 ACLGraph capture 阶段静态缓冲区引用 Dynamo example inputs 导致的 stale data_ptr 精度问题 - 新增 aclgraph_lazy_capture 模式,延迟 capture 至首次推理并使用 detach() 替代 clone(),解决多子图模型(60+ blocks)的 OOM 问题 - 新增 aclgraph_max_entries 配置,限制每个闭包的 entry 数量,防止动态输入形状下的显存无限增长 # Test Plan 1. TI2V-5B + aclgraph_lazy_capture=False(默认):验证输出视频精度正确 2. qwen-image-edit2509 + aclgraph_lazy_capture=True:验证无 OOM 且精度正确 # Test Report - TI2V-5B 默认配置:精度正确 ✅ - qwen-image-edit2509 lazy 模式:无 OOM,精度正确 ✅ See merge request: Ascend/MindIE-SD!32618 天前
[Bugfix][log]Unify MindIE SD logging and improve diagnostics Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !328 merge 0603_log into dev [Bugfix][log]Unify MindIE SD logging and improve diagnostics Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fix part of https://gitcode.com/Ascend/MindIE-SD/issues/158 # Purpose 本 PR 修复 MindIE SD 日志问题,主要包括: 1. 统一 MindIE SD Python 模块日志出口,避免 compilation、share_memory 等模块直接使用标准库 logging.getLogger(__name__),导致日志格式、落盘路径、过滤级别和开关行为不一致。 2. 优化日志模块默认输出格式,确保默认与 verbose 模式均包含 MindIE SD 组件标识。 3. 精简默认 INFO 场景日志,将正常流程、调试态信息降级为 DEBUG,避免默认运行场景产生不必要日志。 4. 增强 WARNING/ERROR 日志内容,补充问题描述、可能根因、参数期望值/实际值和进一步排查建议。 5. 修复 pre-commit 暴露的日志格式、pylint、bandit、typos 等问题,包括日志参数数量不匹配、拼写错误、动态 API 静态检查误报标注和 EPLB scheduler 嵌套层级过深问题。eplb_scheduler、greedy_algorithm中此类改动较多,多是形式改动,无实际影响。 # Test Plan 1. 执行 pre-commit 全量检查,覆盖 ruff、pylint、bandit、typos 等静态质量门禁。 2. 执行 Python 编译检查,确认本次修改未引入语法错误。 3. 执行 git diff 空白检查,确认无行尾空白、格式污染。 4. 白盒检查 mindiesd 正式代码中默认 INFO 日志是否清理完成。 5. 白盒检查除日志模块本体外,是否仍存在直接使用标准库 logging.getLogger(__name__) 的模块。 # Test Report 已执行并通过: ![image.png](https://raw.gitcode.com/user-images/assets/8476587/ff59361f-df29-445c-b41f-a0de7bc44ff2/image.png 'image.png') See merge request: Ascend/MindIE-SD!32818 天前
[Feature][SLA] Add AscendC backend Co-authored-by: yujunyu2<yujunyu3@huawei.com> Co-authored-by: openLiBingCI<openlibing-robot@openlibing.com> # message auto-generated for no-merge-commit merge: !332 merge dev into dev [Feature][SLA] Add AscendC backend Created-by: yjy_ac Commit-by: yujunyu2;openLiBingCI Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251224 --> # Which issue(s) this PR fixes or accomplishes > Fixes #171 # Purpose 为了得到更高推理性能,补充SLA可选AscendC上Block Sparse Attention算子后端。 # Test Plan ## 运行方式 bash # CPU:参数校验(无需 NPU) export MINDIE_TEST_MODE=CPU python -m unittest tests.layers.flash_attn.test_sparse_linear_attn -v # 全量:含 NPU 实机(需 Ascend + build/build_plugin.sh + pip install -e .) export MINDIE_TEST_MODE=ALL python -m unittest tests.layers.flash_attn.test_sparse_linear_attn -v ## 测试用例 ### 初始化(CPU) - 默认 backend 为 triton - 支持 backend:triton、ascendc - ascendc head_dim 仅 64/128;triton head_dim 仅 16/32/64/128/256 - triton 默认 BLKQ=BLKK=64;triton 块大小仅 64/128;ascendc BLKK 须为 128 倍数 - 非法 backend / head_dim / block size 初始化时抛 ParametersInvalid ### get_block_map(NPU) - head_dim=64、BLK=128:sparse_map 为 int8,shape 正确,real_topk > 0 - head_dim=128、fp16、BLK=128:同上 - BLKQ=BLKK=64:按块 64 划分,shape 正确 ### forward 校验(CPU,mock get_block_map) - ascendc / triton:非 NPU 设备抛错,且不调用 get_block_map - ascendc:forward 输入 head_dim 非 64/128 抛错 - triton:forward 输入 head_dim 非 16/32/64/128/256 抛错 ### 端到端 smoke(NPU,无 mock) - triton:head_dim=64,BLK=128 → 输出 shape (1,2,1024,64),fp16 - triton:BLKQ=BLKK=64 → 输出 shape 正确,fp16 - triton:head_dim=128 → 输出 shape (1,2,1024,128),fp16 - ascendc:head_dim=64/128 → 输出 shape/dtype 正确(950 系 inner_precise=4,其余为 1) # Test Report 测试用例验证,其中包括同输入条件下AscendC和Triton后端精度对比测试一致 ![SLA接入AscendC_BSA测试.png](https://raw.gitcode.com/user-images/assets/8476587/a5be9678-5db6-4769-b695-b3636003b61b/SLA接入AscendC_BSA测试.png 'SLA接入AscendC_BSA测试.png') 相较triton后端,ascendC后端性能提升接近15倍 ![image.png](https://raw.gitcode.com/user-images/assets/8476587/c2b13306-8803-4e50-b0e5-ab01c32e3c7b/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8476587/b8ea4b77-3f75-4f0f-bb58-eb17e91f740a/image.png 'image.png') See merge request: Ascend/MindIE-SD!3326 小时前
test: align ut expectations with current quant behavior Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !373 merge dev into dev test: align ut expectations with current quant behavior Created-by: weixin_44144262 Commit-by: guowenna1 Merged-by: ascend-robot Description: # Purpose 修改在A2上部分用例执行失败的情况 # Test Plan 运行全量ut # Test Report ![image.png](https://raw.gitcode.com/user-images/assets/8476587/a42d2545-533f-4a6b-a86d-2bfcfd8f14ec/image.png 'image.png') See merge request: Ascend/MindIE-SD!3734 天前
[Bugfix][share_memory]Prevent pickle deserialization RCE on ZMQ share-handle channel Co-authored-by: changetheway<guotaoyuan1@h-partners.com> # message auto-generated for no-merge-commit merge: !360 merge share_memory_0613 into dev [Bugfix][share_memory]Prevent pickle deserialization RCE on ZMQ share-handle channel Created-by: changetheway Commit-by: changetheway Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fixes [#101](https://gitcode.com/Ascend/MindIE-SD/issues/101) # Purpose mindiesd/share_memory.py 通过 ZMQ PUB/SUB 在 master 与子进程间广播 NPU 共享存储句柄, 此前使用 socket.send_pyobj() / socket.recv_pyobj(),其接收端内部调用 pickle.loads() 直接反序列化 socket 字节流。pickle 可被构造的恶意字节流触发任意 callable 调用 (如 os.system / subprocess.Popen / eval),导致接收端 **远程代码执行(RCE)**。 本 PR 引入受限反序列化器 SafeUnpickler 替换不安全的 pickle 接口: - 新增 mindiesd/utils/safe_pickle.pySafeUnpickler(pickle.Unpickler) 重写 find_class, 采用「显式黑名单 gadget + 模块前缀白名单 + 默认拒绝」三道闸;并提供 drop-in 封装 safe_dumps/safe_dump/safe_load/safe_loads。 - share_memory.pypub_socket.send_pyobj(handle)pub_socket.send(safe_dumps(handle))sub_socket.recv_pyobj()safe_loads(sub_socket.recv())。 - NPU 句柄为 int/bytes 组成的普通 tuple(属 builtins 白名单),合法数据正常往返; 恶意 payload 在 find_class 阶段即被拒绝,不触发执行。 - 新增 tests/test_safe_pickle.py(11 例,纯逻辑、CPU 兼容,MINDIE_TEST_MODE=NPU 时跳过), 并同步更新 tests/test_share_memory.py 的 zmq mock。 对外 API(share_memory() / init_share_memory() 等)签名与行为不变。 # Test Plan 1. python -m py_compile mindiesd/utils/safe_pickle.py mindiesd/share_memory.py tests/test_share_memory.py tests/test_safe_pickle.py 2. 安全拦截验证:python tests/test_safe_pickle.py -v(覆盖 os.system / eval / subprocess.Popen 拦截、numpy 拒绝、黑名单优先、合法句柄往返)。 3. 三模式门控:分别以 MINDIE_TEST_MODE=ALL|CPU|NPU 运行,确认 CPU 兼容用例仅在 NPU 模式跳过。 4. 回归:cd tests && python test_share_memory.py -v(含真实 NPU 上的 broadcast_handle master/slave、share_memory 主流程)。 # Test Report python tests/test_share_memory.py -v ![image.png](https://raw.gitcode.com/user-images/assets/8476587/d7a68e72-8ee0-4a61-8c46-e6759dc86e71/image.png 'image.png') python tests/test_safe_pickle.py -v ![image.png](https://raw.gitcode.com/user-images/assets/8476587/d856b473-f1f0-4965-a623-8d16413d9994/image.png 'image.png') See merge request: Ascend/MindIE-SD!3607 天前
[Feature][quant]Cover MXFP4 quantization updates Co-authored-by: lijinxi<lijinxi2@huawei.com> # message auto-generated for no-merge-commit merge: !365 merge dev into dev [Feature][quant]Cover MXFP4 quantization updates Created-by: weixin_44144262 Commit-by: lijinxi Merged-by: ascend-robot Description: # Purpose 新增部署端mxfp4 fa逻辑 # Test Plan 测试Wan2.2 e2e端到端精度,性能 # Test Report ![image.png](https://raw.gitcode.com/user-images/assets/8476587/08d84ca4-7d3a-4ef2-b0ee-50c2706ed0a9/image.png 'image.png') See merge request: Ascend/MindIE-SD!3657 天前
feat: quant_flash_attn and quant_flash_attn_metadata operators Co-authored-by: lijinxi<lijinxi2@huawei.com> # message auto-generated for no-merge-commit merge: !313 merge dev into dev feat: quant_flash_attn and quant_flash_attn_metadata operators Created-by: weixin_44144262 Commit-by: lijinxi Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes > Fix part of #136 # Purpose 新增mxfp4的fa算子,配套的还有一个aicpu的metadata算子 # Test Plan 运行tests/ops/quant_flash_attn/quant_flash_attn_golden.py测试单算子精度 # Test Report ![image.png](https://raw.gitcode.com/user-images/assets/8476587/44ca9d24-0974-421d-b8d2-28203e313626/image.png 'image.png') See merge request: Ascend/MindIE-SD!31319 天前
[Bugfix][log]Unify MindIE SD logging and improve diagnostics Co-authored-by: guowenna1<guowenna1@huawei.com> # message auto-generated for no-merge-commit merge: !328 merge 0603_log into dev [Bugfix][log]Unify MindIE SD logging and improve diagnostics Created-by: guowenna1 Commit-by: guowenna1 Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fix part of https://gitcode.com/Ascend/MindIE-SD/issues/158 # Purpose 本 PR 修复 MindIE SD 日志问题,主要包括: 1. 统一 MindIE SD Python 模块日志出口,避免 compilation、share_memory 等模块直接使用标准库 logging.getLogger(__name__),导致日志格式、落盘路径、过滤级别和开关行为不一致。 2. 优化日志模块默认输出格式,确保默认与 verbose 模式均包含 MindIE SD 组件标识。 3. 精简默认 INFO 场景日志,将正常流程、调试态信息降级为 DEBUG,避免默认运行场景产生不必要日志。 4. 增强 WARNING/ERROR 日志内容,补充问题描述、可能根因、参数期望值/实际值和进一步排查建议。 5. 修复 pre-commit 暴露的日志格式、pylint、bandit、typos 等问题,包括日志参数数量不匹配、拼写错误、动态 API 静态检查误报标注和 EPLB scheduler 嵌套层级过深问题。eplb_scheduler、greedy_algorithm中此类改动较多,多是形式改动,无实际影响。 # Test Plan 1. 执行 pre-commit 全量检查,覆盖 ruff、pylint、bandit、typos 等静态质量门禁。 2. 执行 Python 编译检查,确认本次修改未引入语法错误。 3. 执行 git diff 空白检查,确认无行尾空白、格式污染。 4. 白盒检查 mindiesd 正式代码中默认 INFO 日志是否清理完成。 5. 白盒检查除日志模块本体外,是否仍存在直接使用标准库 logging.getLogger(__name__) 的模块。 # Test Report 已执行并通过: ![image.png](https://raw.gitcode.com/user-images/assets/8476587/ff59361f-df29-445c-b41f-a0de7bc44ff2/image.png 'image.png') See merge request: Ascend/MindIE-SD!32818 天前
[Bugfix][share_memory]Prevent pickle deserialization RCE on ZMQ share-handle channel Co-authored-by: changetheway<guotaoyuan1@h-partners.com> # message auto-generated for no-merge-commit merge: !360 merge share_memory_0613 into dev [Bugfix][share_memory]Prevent pickle deserialization RCE on ZMQ share-handle channel Created-by: changetheway Commit-by: changetheway Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fixes [#101](https://gitcode.com/Ascend/MindIE-SD/issues/101) # Purpose mindiesd/share_memory.py 通过 ZMQ PUB/SUB 在 master 与子进程间广播 NPU 共享存储句柄, 此前使用 socket.send_pyobj() / socket.recv_pyobj(),其接收端内部调用 pickle.loads() 直接反序列化 socket 字节流。pickle 可被构造的恶意字节流触发任意 callable 调用 (如 os.system / subprocess.Popen / eval),导致接收端 **远程代码执行(RCE)**。 本 PR 引入受限反序列化器 SafeUnpickler 替换不安全的 pickle 接口: - 新增 mindiesd/utils/safe_pickle.pySafeUnpickler(pickle.Unpickler) 重写 find_class, 采用「显式黑名单 gadget + 模块前缀白名单 + 默认拒绝」三道闸;并提供 drop-in 封装 safe_dumps/safe_dump/safe_load/safe_loads。 - share_memory.pypub_socket.send_pyobj(handle)pub_socket.send(safe_dumps(handle))sub_socket.recv_pyobj()safe_loads(sub_socket.recv())。 - NPU 句柄为 int/bytes 组成的普通 tuple(属 builtins 白名单),合法数据正常往返; 恶意 payload 在 find_class 阶段即被拒绝,不触发执行。 - 新增 tests/test_safe_pickle.py(11 例,纯逻辑、CPU 兼容,MINDIE_TEST_MODE=NPU 时跳过), 并同步更新 tests/test_share_memory.py 的 zmq mock。 对外 API(share_memory() / init_share_memory() 等)签名与行为不变。 # Test Plan 1. python -m py_compile mindiesd/utils/safe_pickle.py mindiesd/share_memory.py tests/test_share_memory.py tests/test_safe_pickle.py 2. 安全拦截验证:python tests/test_safe_pickle.py -v(覆盖 os.system / eval / subprocess.Popen 拦截、numpy 拒绝、黑名单优先、合法句柄往返)。 3. 三模式门控:分别以 MINDIE_TEST_MODE=ALL|CPU|NPU 运行,确认 CPU 兼容用例仅在 NPU 模式跳过。 4. 回归:cd tests && python test_share_memory.py -v(含真实 NPU 上的 broadcast_handle master/slave、share_memory 主流程)。 # Test Report python tests/test_share_memory.py -v ![image.png](https://raw.gitcode.com/user-images/assets/8476587/d7a68e72-8ee0-4a61-8c46-e6759dc86e71/image.png 'image.png') python tests/test_safe_pickle.py -v ![image.png](https://raw.gitcode.com/user-images/assets/8476587/d856b473-f1f0-4965-a623-8d16413d9994/image.png 'image.png') See merge request: Ascend/MindIE-SD!3607 天前