文件最后提交记录最后更新时间
!7008 Rename test files: test_cpp_extension/test_jit/test_onnx/test_optim/test_profiler Merge pull request !7008 from yuhaiyan/master-dev 2 年前
支持c++外部流接口getStreamFromExternal Co-authored-by: panweicheng<panweicheng@huawei.com> Co-authored-by: pwc10490<pwc10490@gitcode.com> # message auto-generated for no-merge-commit merge: !36666 merge master into master 支持c++外部流接口getStreamFromExternal Created-by: pwc10490 Commit-by: panweicheng;pwc10490 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 https://gitcode.com/Ascend/pytorch/issues/2163 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 test/cpp_extensions/test/test_external_stream.py ![image.png](https://raw.gitcode.com/user-images/assets/7404318/682ab412-f5ab-4776-8115-9cce9487be0f/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!366661 天前
支持c++外部流接口getStreamFromExternal Co-authored-by: panweicheng<panweicheng@huawei.com> Co-authored-by: pwc10490<pwc10490@gitcode.com> # message auto-generated for no-merge-commit merge: !36666 merge master into master 支持c++外部流接口getStreamFromExternal Created-by: pwc10490 Commit-by: panweicheng;pwc10490 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 https://gitcode.com/Ascend/pytorch/issues/2163 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 test/cpp_extensions/test/test_external_stream.py ![image.png](https://raw.gitcode.com/user-images/assets/7404318/682ab412-f5ab-4776-8115-9cce9487be0f/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!366661 天前
!9500 The test cases support NPU. Merge pull request !9500 from yuhaiyan/master-dev4 2 年前
!7008 Rename test files: test_cpp_extension/test_jit/test_onnx/test_optim/test_profiler Merge pull request !7008 from yuhaiyan/master-dev 2 年前
fix: fix from blob bug Co-authored-by: luochao60<luochao60@huawei.com> # message auto-generated for no-merge-commit merge: !30841 merge pta_fix_from_blob_20260212 into master fix: fix from blob bug Created-by: luochao60 Commit-by: luochao60 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列 > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 修复 torch_npu/csrc/aten/common/from_blob.cppTensorMaker::computeStorageSize() 计算 storage size 时对 storage_offset_ 的处理 bug:原代码将 storage_offset_(按元素数计)直接累加到字节大小上,缺少 * itemsize,导致非 float32 类型或带偏移的 tensor 计算出的 storage size 偏小,from_blob 创建的 tensor storage 不足。修复后两处分支均改为 storage_size += storage_offset_.value() * itemsize;。 2. 修复 torch_npu/csrc/npu/Module.cpp_weak_ref_tensor 实现:原实现通过 t.data_ptr() + t.sizes() + t.strides() 调用 from_blob 构造新 tensor,丢失了原 tensor 的 storage_offset 信息,且当原 tensor 是 view(带 offset 或非平凡 stride)时,新 tensor 的 storage 会被错误地按视图形状重新计算,与原 storage 不一致。修复方式:基于原 tensor 的完整 storage().mutable_data()storage().nbytes() / element_size() 调用 from_blob 构造新 tensor(覆盖完整 storage),随后通过 set_sizes_and_stridesset_storage_offset 还原原 tensor 的视图信息,确保弱引用 tensor 的 storage、sizes、strides、offset 与原 tensor 完全一致。 3. 测试用例重构与新增: - 将原本散落在 test/cpp_extensions/extension.cpp 中的 from_blob 相关测试(check_from_blob/check_from_blob_strides/check_from_blob_delete)迁移到独立的 test/cpp_extensions/test_from_blob.cpp,按 at_npu::native::from_blob 接口能力分门别类组织。 - test/cpp_extensions/setup.py 注册新的扩展模块 torch_test_cpp_extension.npu_from_blob。 - test/cpp_extensions/test/test_cpp_extensions_aot.py 新增 TestFromBlob 测试类,覆盖 basic / deleter / strides / storage_offset / storage_offset_2d / storage_offset_dtype / storage_offset_contiguous / non_owning / clone 等场景;test_storage_sizes 增加 @SupportedDevices(['Ascend910B', 'Ascend910C']) 限制。 - test/npu/test_npu_format.py 新增 test_weak_ref_tensor_with_storage_offset 用例,构造带非平凡 stride 与 storage_offset 的 view,验证 _weak_ref_tensor 返回的 tensor 在 size、stride、storage_offset、storage().nbytes() 与数值上都与原 tensor 一致。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写"不涉及" 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写"不涉及" 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤 > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 1. C++ 扩展用例 test/cpp_extensions/test/test_cpp_extensions_aot.py::TestFromBlob:覆盖 at_npu::native::from_blob 在 basic、自定义 deleter、显式 strides、带 storage_offset、二维带 offset、不同 dtype、contiguous 标志、non-owning 语义、clone 后数据正确性等场景,验证修复后 storage 计算正确。 2. Python 用例 test/npu/test_npu_format.py::TestNPUFormat::test_weak_ref_tensor_with_storage_offset:构造 view_shape=[2,1,8,64]view_strides=[1536,0,192,1]view_offset=128 的 strided view,验证 _weak_ref_tensor 保持 size/stride/offset/storage 字节数一致且数值相等。 3. UT 已随 PR 一同提交,本地自验证通过。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!308411 个月前
支持c++外部流接口getStreamFromExternal Co-authored-by: panweicheng<panweicheng@huawei.com> Co-authored-by: pwc10490<pwc10490@gitcode.com> # message auto-generated for no-merge-commit merge: !36666 merge master into master 支持c++外部流接口getStreamFromExternal Created-by: pwc10490 Commit-by: panweicheng;pwc10490 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 https://gitcode.com/Ascend/pytorch/issues/2163 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 test/cpp_extensions/test/test_external_stream.py ![image.png](https://raw.gitcode.com/user-images/assets/7404318/682ab412-f5ab-4776-8115-9cce9487be0f/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!366661 天前
feat add shim_npu Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !35592 merge master_shim into master feat add shim_npu Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 将 NPU AOTI Shim 层对齐到上游 CUDA 实现(shim_cuda.cpp),补齐缺失的设备管理、流管理、内存分配等关键 shim 函数。 1. 新增 7 组 NPU Shim 函数(shim_npu.cpp + shim.h) - 设备 Guard 三件套:create_npu_guard / delete_npu_guard / npu_guard_set_index,实现 AOTI 模型执行时的设备自动切换与恢复 - 流 Guard 两件套:create_npu_stream_guard / delete_npu_stream_guard,实现流状态的自动切换与恢复 - 获取当前流:get_current_npu_stream,查询指定设备的当前 NPU 流 - 缓存分配器两件套:npu_caching_allocator_raw_alloc / raw_delete,复用 PyTorch 显存池,替代低效的 aclrtMalloc/aclrtFree 2. 改进已有函数的错误处理(shim_npu.cpp) - 所有输出参数增加空指针检查,预置 nullptr 防止异常时残留野值 - create_tensor_from_blob_npu_v2 修正错误码传播:throw → TORCH_CHECK,检查内部调用返回值 3. 新增流查找底层支撑(NPUStream.cpp) - 新增 getNPUStreamFromManagedAclrtStream,在 torch_npu 管理的流池中查找 aclrtStream 对应的 NPUStream 对象,等价于 CUDA 的 getStreamFromExternal 4. AOTI 运行时改进(model.h + utils_npu.h) - RAII_npuMalloc 新增 AOT_INDUCTOR_USE_CACHING_ALLOCATOR 分支,支持通过 shim 调用缓存分配器 - 新增 normalize_run_stream:当 stream 为 nullptr 时自动获取当前 NPU 流,应用于 run() / run_single_threaded() / run_const_fold() - 新增 utils_npu.h:提供 AOTINpuGuard / AOTINpuStreamGuard RAII 封装类,供 model.so 内部使用 5. 修复流传递 Bug(model_container_runner_npu.cpp) - run_impl:尊重调用者传入的 stream_handle,仅在为 nullptr 时回退到当前流 - run_with_npu_stream:修复忽略传入流参数的 Bug 6. 修正 Python 代码生成(npu_device.py + cpp_wrapper.py) - cpp_aoti_device_guard:raise NotImplementedError → "AOTINpuGuard" - cpp_aoti_stream_guard:"AOTICudaStreamGuard" → "AOTINpuStreamGuard" - aoti_get_stream:"aoti_torch_get_current_cuda_stream" → "aoti_torch_get_current_npu_stream" - cpp_wrapper.py:生成代码中 include utils_npu.h # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!3559215 天前
!22643 !9425 Provide interface such as getDeviceStatus, resetPeakStats for NP… Merge pull request !22643 from liupeng303/master 10 个月前
支持c++外部流接口getStreamFromExternal Co-authored-by: panweicheng<panweicheng@huawei.com> Co-authored-by: pwc10490<pwc10490@gitcode.com> # message auto-generated for no-merge-commit merge: !36666 merge master into master 支持c++外部流接口getStreamFromExternal Created-by: pwc10490 Commit-by: panweicheng;pwc10490 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 https://gitcode.com/Ascend/pytorch/issues/2163 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 test/cpp_extensions/test/test_external_stream.py ![image.png](https://raw.gitcode.com/user-images/assets/7404318/682ab412-f5ab-4776-8115-9cce9487be0f/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!366661 天前
fix: fix from blob bug Co-authored-by: luochao60<luochao60@huawei.com> # message auto-generated for no-merge-commit merge: !30841 merge pta_fix_from_blob_20260212 into master fix: fix from blob bug Created-by: luochao60 Commit-by: luochao60 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列 > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 修复 torch_npu/csrc/aten/common/from_blob.cppTensorMaker::computeStorageSize() 计算 storage size 时对 storage_offset_ 的处理 bug:原代码将 storage_offset_(按元素数计)直接累加到字节大小上,缺少 * itemsize,导致非 float32 类型或带偏移的 tensor 计算出的 storage size 偏小,from_blob 创建的 tensor storage 不足。修复后两处分支均改为 storage_size += storage_offset_.value() * itemsize;。 2. 修复 torch_npu/csrc/npu/Module.cpp_weak_ref_tensor 实现:原实现通过 t.data_ptr() + t.sizes() + t.strides() 调用 from_blob 构造新 tensor,丢失了原 tensor 的 storage_offset 信息,且当原 tensor 是 view(带 offset 或非平凡 stride)时,新 tensor 的 storage 会被错误地按视图形状重新计算,与原 storage 不一致。修复方式:基于原 tensor 的完整 storage().mutable_data()storage().nbytes() / element_size() 调用 from_blob 构造新 tensor(覆盖完整 storage),随后通过 set_sizes_and_stridesset_storage_offset 还原原 tensor 的视图信息,确保弱引用 tensor 的 storage、sizes、strides、offset 与原 tensor 完全一致。 3. 测试用例重构与新增: - 将原本散落在 test/cpp_extensions/extension.cpp 中的 from_blob 相关测试(check_from_blob/check_from_blob_strides/check_from_blob_delete)迁移到独立的 test/cpp_extensions/test_from_blob.cpp,按 at_npu::native::from_blob 接口能力分门别类组织。 - test/cpp_extensions/setup.py 注册新的扩展模块 torch_test_cpp_extension.npu_from_blob。 - test/cpp_extensions/test/test_cpp_extensions_aot.py 新增 TestFromBlob 测试类,覆盖 basic / deleter / strides / storage_offset / storage_offset_2d / storage_offset_dtype / storage_offset_contiguous / non_owning / clone 等场景;test_storage_sizes 增加 @SupportedDevices(['Ascend910B', 'Ascend910C']) 限制。 - test/npu/test_npu_format.py 新增 test_weak_ref_tensor_with_storage_offset 用例,构造带非平凡 stride 与 storage_offset 的 view,验证 _weak_ref_tensor 返回的 tensor 在 size、stride、storage_offset、storage().nbytes() 与数值上都与原 tensor 一致。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写"不涉及" 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写"不涉及" 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤 > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 1. C++ 扩展用例 test/cpp_extensions/test/test_cpp_extensions_aot.py::TestFromBlob:覆盖 at_npu::native::from_blob 在 basic、自定义 deleter、显式 strides、带 storage_offset、二维带 offset、不同 dtype、contiguous 标志、non-owning 语义、clone 后数据正确性等场景,验证修复后 storage 计算正确。 2. Python 用例 test/npu/test_npu_format.py::TestNPUFormat::test_weak_ref_tensor_with_storage_offset:构造 view_shape=[2,1,8,64]view_strides=[1536,0,192,1]view_offset=128 的 strided view,验证 _weak_ref_tensor 保持 size/stride/offset/storage 字节数一致且数值相等。 3. UT 已随 PR 一同提交,本地自验证通过。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!308411 个月前
feat support device parameters for aoti test Co-authored-by: huangyunlong2022<huangyunlong4@h-partners.com> # message auto-generated for no-merge-commit merge: !36118 merge 2.13shim_td into master feat support device parameters for aoti test Created-by: huangyunlong2022 Commit-by: huangyunlong2022 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 包含device的算子用例支持传device # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!3611813 天前