Skip to content

sync: GitCode master @ 0373b0e0f92d - #331

Open
Crystal-wzy wants to merge 7 commits into
hw-native-sys:mainfrom
Crystal-wzy:gitcode-sync
Open

Crystal-wzy wants to merge 7 commits into
hw-native-sys:mainfrom
Crystal-wzy:gitcode-sync

Conversation

@Crystal-wzy

Copy link
Copy Markdown
Collaborator

Automated daily sync from GitCode cann/pto-isa:master into GitHub hw-native-sys/pto-isa:main.

Carries only commits after cut point:
dc799f341d8b976f94a07257876131f39b684932

Cut point source:
merged-pr-330

Source SHA:
0373b0e0f92d473542226707f13fad7d77ca06fc

Sync mode:
cherry-pick

Generated by the Sync GitCode to GitHub workflow.

zhhywang and others added 7 commits September 22, 2026 05:33
Co-authored-by: zhywang<wangzhiyong74@huawei.com>



# message auto-generated for no-merge-commit merge:
!1711 merge int64 into master

fix: align A5 64-bit remainder with floor vmod semantics

Created-by: zhhywang
Commit-by: zhywang
Merged-by: cann-robot
Description: Created-by: zhhywang
Commit-by: zhhywang
Merged-by: cann-robot
Description: A5 int64/uint64 TREM/TREMS 统一使用 vmod,除数为零时 int64 返回 -1、uint64 返回 UINT64_MAX,补齐边界测试和中英文文档,并修正 half 测试比较及 CPU movemask 编译路径。

## 描述
15 files changed, 395 insertions(+), 121 deletions(-)

- **范围**:A5 TRem.hpp、公共 utils.hpp、TREM/TREMS 测试及数据生成脚本、ISA 中英文文档和相关索引。
- **问题**:有符号 64 位余数使用截断商,异号非整除结果不符合 floor 定义;额外清零逻辑覆盖了硬件除零结果。half 测试按存储位比较数值,CPU movemask 路径误用 NPU 汇编。
- **修复**:按类型选择有符号或无符号 64 位寄存器,统一调用 vmod,删除除乘减及除零清零分支。golden 使用精确整数运算,新增 18 个符号、极值、大除数、除零和原地尾块用例;统一参数命名及 scalar=0 配置。half 通过 aclFloat16ToFloat 转换后按原容差比较;__CPU_SIM 下 movemask 使用空操作并保留静态断言。
- **影响**:除数非零时,非零余数与除数同号;除数为零时,int64 返回 -1,uint64 返回 UINT64_MAX。TREM/TREMS 使用相同语义。

## 关联的Issue

## 测试

最新验证结果如下:

| 验证项 | 结果 |
| --- | --- |
| A5 TREM | 完整目标 26/26 通过,64 位整数精确比较通过 |
| A5 TREMS | 其余 33 个用例通过;half 用例修正比较后使用原始数据定向复测 1/1 通过,数值误差计数为 0 |
| CPU 回归 | 最近一次 TREM 6/6、TREMS 10/10 均通过 |
| 提交检查 | precheck 通过;独立 OAT 覆盖全部 15 个暂存文件 |
| 格式与静态检查 | clang-format 18.1.8、Ruff 0.14.14 检查及格式检查、git diff 空白检查通过 |
| 文档 | MkDocs 构建通过,其他页面存在既有链接警告 |

A5 累计 60 个用例均已验证通过,结果由完整回归及 half 定向复测组成。half 比较分支修改未影响其余 59 个用例的执行路径。

执行命令(从仓库根目录发起; 为 trem 或 trems, 为仓库根目录,构建目录分别指定):

```bash
cmake -S tests/npu/a5/src/st -B  -DRUN_MODE=npu -DSOC_VERSION=Ascend950DT_9581 -DTEST_CASE= -DPTO_GLIBCXX_USE_CXX11_ABI=1
cmake --build  -j 4
(cd  && python3 /tests/npu/a5/src/st/testcase//gen_data.py)
(cd /bin && ./)
```

A5 使用 CANN 9.2.0。half 定向复测在重建 TREMS 后执行,保留原始测试数据:

```bash
(cd /bin && ./trems --gtest_filter=TREMSTest.case2)
```

CPU 回归命令:

```bash
cmake -S tests/cpu/st -B  -DCMAKE_CXX_COMPILER=clang++ -DTEST_CASE= -DPTO_GLIBCXX_USE_CXX11_ABI=1 -DCMAKE_BUILD_TYPE=Release
cmake --build  -j 4
python3 tests/run_cpu.py --testcase  --no-build --no-install --build-dir 
```

提交、脚本与文档检查命令:

```bash
gitcode_commit.py precheck --repo .
ruff check tests/npu/a5/src/st/testcase/trem/gen_data.py tests/npu/a5/src/st/testcase/trems/gen_data.py
ruff format --check tests/npu/a5/src/st/testcase/trem/gen_data.py tests/npu/a5/src/st/testcase/trems/gen_data.py
python -m mkdocs build -f docs/mkdocs/mkdocs.yml -d  --clean
git diff --check
git diff --cached --check
```

pre-commit 中空白、文件结尾、大文件、冲突标记、私钥、clang-format、codespell、typos 检查通过。YAML、JSON、Ruff hooks 无匹配文件,仓库 OAT hook 跳过;Ruff 已单独检查,OAT 已独立完成全部暂存文件扫描。

## 文档更新
同步 TREM/TREMS 中英文 floor 语义、非零结果符号与 A5 零除数返回值;修正 TREM 的 A2A3 临时缓冲区容量及示例,并从 manifest 同步相关中文索引摘要。

## 类型标签
- [x] Bug 修复
- [ ] 新特性
- [ ] 性能优化
- [x] 文档更新
- [ ] 其他,请描述:

See merge request: cann/pto-isa!1711
… such as TMOV ND2NZ

Co-authored-by: omarzohir<omar.zohiraly@huawei.com>



# message auto-generated for no-merge-commit merge:
!1717 merge tmov_nd2nz_fp4_fix into master

fix(a5): Fixing FP4 datatype sizes and asserts, and related testcases such as TMOV ND2NZ

Created-by: omarzohir
Commit-by: omarzohir
Merged-by: cann-robot
Description: ## 描述
fp4 twin-type nibble/byte units in TMOV ND->NZ + tile alignment assert; 12 fp4 nd2nz cases (MTE zero-pad, dense GM); tcvt drops fp4 4x32; textract_vec drops unsound ND-fp4 aliases

## 关联的Issue
<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->
<!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。-->

## 测试
All changed st cases pass correctness, some previously illegal cases were removed

## 文档更新
<!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->

## 类型标签
<!--  [x] 表示选中 -->
- [X] Bug修复
- [ ] 新特性
- [ ] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:




See merge request: cann/pto-isa!1717
Co-authored-by: Azizbek<habibov.azizbek@h-partners.com>



# message auto-generated for no-merge-commit merge:
!1704 merge tpart into master

[CPU-SIM] Fix TPartArg#Max/Min

Created-by: Azizbek
Commit-by: Azizbek
Merged-by: cann-robot
Description: ## 描述
<!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->

## 关联的Issue
<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->
<!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。-->

## 测试
<!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。-->

## 文档更新
<!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->

## 类型标签
<!--  [x] 表示选中 -->
- [ ] Bug修复
- [ ] 新特性
- [ ] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:




See merge request: cann/pto-isa!1704
Co-authored-by: y00848239<yangweiliang3@huawei.com>



# message auto-generated for no-merge-commit merge:
!1720 merge master into master

TColSum bug fix

Created-by: Liang_vip10
Commit-by: y00848239
Merged-by: cann-robot
Description: ## 描述
<!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->

## 关联的Issue
<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->
<!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。-->

## 测试
<!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。-->

## 文档更新
<!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->

## 类型标签
<!--  [x] 表示选中 -->
- [ ] Bug修复
- [ ] 新特性
- [ ] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:




See merge request: cann/pto-isa!1720
Co-authored-by: zhywang<wangzhiyong74@huawei.com>



# message auto-generated for no-merge-commit merge:
!1716 merge new into master

fix: respect physical strides in A2A3 TEXPANDS

Created-by: zhhywang
Commit-by: zhywang
Merged-by: cann-robot
Description: Created-by: zhhywang
Commit-by: zhhywang
Merged-by: cann-robot
Description: 修正 A2A3 TEXPANDS 有效区域的连续性判断,使静态有效尺寸小于物理尺寸时按实际步长完整填充,并补充 ST 与中英文文档。

## 描述
6 files changed, 158 insertions(+), 45 deletions(-)

- **范围**:A2A3 TEXPANDS 实现、texpands ST 及中英文指令文档。
- **问题**:静态有效尺寸与自身比较恒成立,带行列间隔的有效区域误走连续填充分支,导致部分元素未被写入。
- **修复**:行主序比较有效列数与物理列数,列主序比较有效行数与物理行数;非连续区域使用已有的逐行或逐列填充路径。增加 6 个静态/动态有效区域对照 ST,并初始化有效数据以稳定检查漏写。
- **测试适配**:ST host 改用 Runtime API 并检查返回值;CMake 移除未使用的 ACL 等依赖,避免仿真模式加载硬件 Runtime,并剔除公共测试头中的未使用 ACL 辅助函数。仿真链接 runtime_camodel,上板链接 runtime。
- **影响**:公共接口保持不变;修复、测试适配及中英文文档同步提交。

## 关联的 Issue

## 测试

- gitcode_commit.py precheck --repo .
  - 结果:PASS,pre-commit 检查通过,独立完整暂存区 OAT 验证通过,共 6 个文件。
- cmake --build build/texpands-st-repro --target texpands --clean-first -j 8
  - 结果:PASS,在最新 upstream/master 基线上干净重建。
- (cd build/texpands-st-repro/bin && LD_LIBRARY_PATH="$ASCEND_HOME_PATH/tools/simulator/Ascend910B1/lib:$LD_LIBRARY_PATH" CAMODEL_LOG_PATH="$PWD/camodel_log" ./texpands)
  - 结果:PASS,A2/A3 仿真 ST 15/15 通过,包括新增的 6 个对照用例。
- cmake --build build/texpands-st-npu --target texpands --clean-first -j 8
  - 结果:PASS,RUN_MODE=npu 干净重建,确认实际使用硬件 libruntime.so。
- (cd build/texpands-st-npu/bin && ./texpands)
  - 结果:PASS,真机 ST 15/15 通过;原有 9 个用例及新增 6 个对照用例全部通过,大尺寸静态和动态有效区域均为 7878/7878 正确。

## 文档更新
同步中英文 TEXPANDS 文档,说明静态/动态有效尺寸和物理步长的填充语义。

## 类型标签
- [x] Bug 修复
- [ ] 新特性
- [ ] 性能优化
- [x] 文档更新
- [ ] 其他,请描述:

See merge request: cann/pto-isa!1716
Co-authored-by: ssreddy<sarveswara.reddy.sathi@huawei.com>



# message auto-generated for no-merge-commit merge:
!1718 merge master into master

TExtract A5 Unaligned Fix : ND-to-2xNZ

Created-by: ssreddy
Commit-by: ssreddy
Merged-by: cann-robot
Description: ## 描述
TExtract A5 Unaligned Fix : ND-to-2xNZ

## 关联的Issue
NA

## 测试
All ST PASS

## 文档更新
NA

## 类型标签
<!--  [x] 表示选中 -->
- [x] Bug修复
- [ ] 新特性
- [ ] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:




See merge request: cann/pto-isa!1718
Co-authored-by: ltr123<lengtianran@huawei.com>



# message auto-generated for no-merge-commit merge:
!1715 merge tianti0921 into master

fix: reduce async communication function complexity

Created-by: ltr123
Commit-by: ltr123
Merged-by: cann-robot
Description: ## Summary

- Extract layout validation from UrmaWorkspaceManager::Init.
- Extract ring-space checks and payload posting from UrmaPostNotify.
- Extract SQ page warmup from WarmupSdmaControlPathForAiv.
- Resolve Tianti warnings for functions exceeding 50 effective lines.

## Verification

- clang-format --dry-run --Werror: passed
- git diff --check: passed
- IDE lint: passed
- Static Reviewer/Critic review: passed
- AICORE hardware ST: not run

See merge request: cann/pto-isa!1715
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants