Skip to content

Feature/a2a3 llvm#908

Merged
zhangstevenunity merged 35 commits into
hw-native-sys:mainfrom
castigli:feature/a2a3-llvm
Jul 21, 2026
Merged

Feature/a2a3 llvm#908
zhangstevenunity merged 35 commits into
hw-native-sys:mainfrom
castigli:feature/a2a3-llvm

Conversation

@castigli

@castigli castigli commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

A2/A3 VPTO Elementwise PR Summary

Summary

This branch adds the A2/A3 VPTO UB lowering path for tile elementwise operations and validates it end-to-end on A3 hardware. The implementation routes A2/A3 through the planned-memory UB pipeline (from A5 pipeline), lowers supported PTO tile ops to VPTO UB ops, and emits LLVM intrinsics.

What Changed

  • Added the A2/A3 VPTO UB lowering pipeline:
    PTOViewToMemref -> PTOPlanMemory -> PTOResolveReservedBuffers -> PTOMaterializeTileHandles -> LowerPTOToUBufOps.
  • Implemented A2/A3 UB lowering for binary elementwise ops:
    tadd, tsub, tmul, tdiv, tmax, tmin, tand, tor, txor, tshls, and tshrs.
  • Implemented unary elementwise ops:
    tabs, trelu, tneg, texp, tlog, tsqrt, trsqrt, and trecip.
  • Implemented scalar-tile elementwise ops:
    tadds, tmuls, tmaxs, and tmins.
  • Added fused elementwise support for taddrelu, including PTO IR, UB IR, lowering, LLVM intrinsic emission, PTODSL wrappers, and tests.
  • Added UB/LLVM support for new VPTO UB ops and intrinsics, including vaddrelu, vdup, and vln.
  • Integrated planned UB address allocation so UB lowering consumes planner-assigned alloc_tile addr values and models scratch usage for ops such as txor.
  • Extended dispatch coverage for small, normal, count, row-repeat, tail, chunked, and multi-row shapes.
  • Extended the PTODSL elementwise surface through helpers and pto.tile.* APIs.
  • Added lit and hardware e2e coverage for binary, unary, scalar, bitwise, shift, fused, log, and reciprocal cases.

Validation

Verified after merging current main with the LLVM 21 docker image:

  • Build: passed
  • VPTO UB lit: 60/60
  • Runtime toolchain pytest: 4/4
  • A3 unary hardware e2e: 80/80
  • A3 binary hardware e2e: 192/192
  • A3 scalar hardware e2e: 120/120

Total A2/A3 shared VPTO elementwise hardware coverage validated on A3: 392 tests.

@reedhecre

reedhecre commented Jul 7, 2026

Copy link
Copy Markdown

Codex Review

该评论由 review 机器人自动更新。

  • PR: Feature/a2a3 llvm #908 Feature/a2a3 llvm
  • Author: castigli
  • Base/Head: main / feature/a2a3-llvm
  • Head SHA: 2ca10958ae5f
  • Trigger: PR 有新提交
  • Generated At: 2026-07-14T11:15:50Z
  • Previous Head SHA: 7f54d1f1ed56
  • Status: failed at codex-review (exit=1)

Summary

Review failed at stage codex-review: exit=1

Findings

未生成结构化 findings,因为 review 过程提前失败。

Log Tail

 .../vpto/ub/ub_to_llvm/elementwise/vadd_dtypes.pto |   87 +
 .../vpto/ub/ub_to_llvm/elementwise/vadd_packed.pto |   49 +
 .../vpto/ub/ub_to_llvm/elementwise/vaddrelu.pto    |   57 +
 test/lit/vpto/ub/ub_to_llvm/elementwise/vdiv.pto   |   30 +
 test/lit/vpto/ub/ub_to_llvm/elementwise/vdup.pto   |   27 +
 test/lit/vpto/ub/ub_to_llvm/elementwise/vln.pto    |   26 +
 .../vpto/ub/ub_to_llvm/elementwise/vmax_vmin.pto   |   64 +
 test/lit/vpto/ub/ub_to_llvm/elementwise/vmul.pto   |   30 +
 test/lit/vpto/ub/ub_to_llvm/elementwise/vsub.pto   |   30 +
 .../lit/vpto/ub/ub_to_llvm/mask/set_mask_count.pto |   47 +
 test/lit/vpto/ub/ub_to_llvm/mask/set_mask_full.pto |   26 +
 test/lit/vpto/ub/ub_to_llvm/mask/set_mask_tail.pto |   25 +
 .../lit/vpto/ub/ub_to_llvm/transfer/copy_gm_ub.pto |   26 +
 .../vpto/ub/ub_to_llvm/transfer/copy_gm_ub_pad.pto |   25 +
 .../lit/vpto/ub/ub_to_llvm/transfer/copy_ub_gm.pto |   25 +
 test/lit/vpto/ub/ub_to_llvm/transfer/mte_gm_ub.pto |   25 +
 .../vpto/ub/ub_to_llvm/transfer/mte_gm_ub_pad.pto  |   29 +
 tools/ptoas/ObjectEmission.cpp                     |   30 +-
 tools/ptoas/driver.cpp                             |    6 +-
 tools/ptoas/ptoas.cpp                              |   92 +-
 104 files changed, 15327 insertions(+), 132 deletions(-)
===== END STAGE clone rc=0 @ 2026-07-14 19:15:40 =====

===== STAGE codex-review @ 2026-07-14 19:15:40 =====
set -euo pipefail
cd '/tmp/ptoas-pr-review-monitor/runs/20260714_191529_pr908/repo'
'codex' exec -C '/tmp/ptoas-pr-review-monitor/runs/20260714_191529_pr908/repo' -s read-only -c 'model_provider="codereview"' -c 'model="gpt-5.4"' -c 'model_reasoning_effort="xhigh"' --output-schema '/tmp/ptoas-pr-review-monitor/runs/20260714_191529_pr908/review_schema.json' -o '/tmp/ptoas-pr-review-monitor/runs/20260714_191529_pr908/codex_last_message.json' --color never - < '/tmp/ptoas-pr-review-monitor/runs/20260714_191529_pr908/review_prompt.txt'
[monitor] stage timeout: 1800s
OpenAI Codex v0.115.0 (research preview)
--------
workdir: /tmp/ptoas-pr-review-monitor/runs/20260714_191529_pr908/repo
model: gpt-5.4
provider: codereview
approval: never
sandbox: read-only
reasoning effort: xhigh
reasoning summaries: none
session id: 019f6056-ff5d-7433-b822-27cea04a9f17
--------
user
你现在在审查 GitHub PR。

仓库:hw-native-sys/PTOAS
PR:#908 Feature/a2a3 llvm
作者:castigli
base branch:origin/main
head branch:HEAD(当前已 checkout 到 PR head)

要求:
1. 只审查这个 PR 相对 origin/main 的改动,必要时可以看上下文文件。
2. 重点找真实的 correctness / regression / contract mismatch / CI / runtime / compatibility 问题。
3. 不要提纯风格建议,不要提低价值猜测。
4. 严格按优先级输出:
   - P1:高概率会导致错误结果、编译/运行失败、严重回归、发布阻断
   - P2:重要缺陷、行为回归、遗漏校验/测试、较大兼容性问题
   - P3:次要但明确可改的问题
5. 如果没有问题,summary 直接写:未检查到 PR #908 存在问题,并返回 findings=[]。
6. 如果有问题,summary 简洁概括,findings 里每条都要给出:
   - severity
   - title
   - body(说明为什么是问题,尽量具体)
   - file(尽量给相对路径)
   - line(能确定就填整数,否则 null)

建议先查看:
- git status --short
- git diff --stat origin/main...HEAD
- git diff --unified=80 origin/main...HEAD

最终输出必须严格匹配 JSON schema。

mcp startup: no servers
Reconnecting... 1/5 (unexpected status 403 Forbidden: {"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}, url: https://codex.0u0o.com/responses, cf-ray: a1b01c6eafebf04d-LAS, request id: c06f2d39-82c0-4a24-994e-659c73455fde)
Reconnecting... 2/5 (unexpected status 403 Forbidden: {"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}, url: https://codex.0u0o.com/responses, cf-ray: a1b01c71ce1d2acc-LAX, request id: 8d735904-af43-4c78-91c6-2e9f5f571ba4)
Reconnecting... 3/5 (unexpected status 403 Forbidden: {"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}, url: https://codex.0u0o.com/responses, cf-ray: a1b01c763b05cb96-LAX, request id: 9875af03-fd86-4c28-84f8-5616ac06e989)
Reconnecting... 4/5 (unexpected status 403 Forbidden: {"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}, url: https://codex.0u0o.com/responses, cf-ray: a1b01c7cc8a6b82d-LAS, request id: d4417066-987c-4621-abdc-3397bd18c85a)
Reconnecting... 5/5 (unexpected status 403 Forbidden: {"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}, url: https://codex.0u0o.com/responses, cf-ray: a1b01c887d4db171-LAS, request id: c4b7cf46-8fcb-4287-93f4-21a6d4e07c0a)
ERROR: unexpected status 403 Forbidden: {"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}, url: https://codex.0u0o.com/responses, cf-ray: a1b01c9f3f1dcba7-LAX, request id: c246dfe4-c841-440b-aa26-92af63ecadd9
Warning: no last agent message; wrote empty content to /tmp/ptoas-pr-review-monitor/runs/20260714_191529_pr908/codex_last_message.json
===== END STAGE codex-review rc=1 @ 2026-07-14 19:15:50 =====

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request implements a direct pointer-based lowering pipeline for A3 (dav-c220-vec) targets, introducing the LowerPTOToUBufOps pass and corresponding LLVM lowering patterns. The code review identified several critical and high-severity issues that must be addressed: a syntax/compilation error in VPTOLLVMEmitter.cpp due to a leftover lambda block; multiple checks in ptoas.cpp and LowerPTOToUBufOps.cpp that restrict the pipeline to "a3" and break "a2" support; an overly restrictive check in VPTOLLVMEmitter.cpp that excludes "dav-c220-cube" and triggers invalid A5 DMA lowering; redundant dead loop generation when headRepeats is zero; and a typo in a macro name in VPTO.cpp.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread lib/PTO/Transforms/VPTOLLVMEmitter.cpp
Comment thread tools/ptoas/ptoas.cpp Outdated
Comment thread tools/ptoas/ptoas.cpp Outdated
Comment thread tools/ptoas/ptoas.cpp Outdated
Comment thread lib/PTO/Transforms/LowerPTOToUBufOps.cpp
Comment thread lib/PTO/Transforms/VPTOLLVMEmitter.cpp Outdated
Comment thread lib/PTO/Transforms/LowerPTOToUBufOps.cpp Outdated
Comment thread lib/PTO/IR/VPTO.cpp Outdated
Comment thread ptodsl/examples/bop_launch_a3.py Outdated
Comment thread ptodsl/examples/bop_launch_a3.py Outdated
if (candidate / "ptodsl" / "__init__.py").exists():
sys.path.insert(0, str(candidate))
break
else:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already have some ST cases in test/tilelib-st. Maybe you can reuse them by just changing the target from a5 to a3.

Comment thread ptodsl/ptodsl/_ops.py
@@ -0,0 +1,486 @@
# Copyright (c) 2026 Huawei Technologies Co., Ltd.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The naming of this test suite is not clear. I suggest reuse the TileOp ST cases we already have in tilelib-st, which will be completed soon.

For vpto level test, you should place them under the test/vpto directory.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can move these tests under test/tilelib-st if that is the preferred repository layout, but I’m worried we would lose clarity and potentially coverage.

The current pytest suite is a comprehensive PTODSL e2e sweep for the new A2/A3 VPTO elementwise path. It covers binary, unary, scalar, bitwise, shift, fused, log, and reciprocal ops across multiple dtypes and dispatch shapes.

My concern with test/tilelib-st is that the folder name is not very descriptive for this purpose: these are specifically PTODSL end-to-end tests for the A2/A3 VPTO lowering pipeline. Moving them there may make that less obvious.

If you still prefer the ST layout, I can migrate them, but I’d like to preserve the current breadth of coverage.

Comment thread docker/Dockerfile.dev
@castigli

Copy link
Copy Markdown
Contributor Author

Retriggering CI for latest head c80521f.

@castigli castigli closed this Jul 10, 2026
@castigli castigli reopened this Jul 10, 2026
@castigli
castigli requested a review from Zhendong404 July 13, 2026 09:17
@learning-chip

learning-chip commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

How many "non-elementwise" vector ops are left? (gather/scatter/reduce/...) Is it too big to also include them into this PR?

deriveLoadCbufToCbControl / deriveLoadCbufToCaControl called the raw
Type::getIntOrFloatBitWidth() accessor, which asserts on non-int/float
element types (FP4 packed, hifloat8, f8, ...). In assert builds this
crashed ptoas mid-pass (~60 VPTO/UB low-precision lit tests) with
'only integers and floats have a bitwidth'.

Use pto::getPTOStorageElemBitWidth() instead, matching the sibling
deriveLoadCbufToCaMxControl / deriveLoadCbufToCbMxControl functions and
the rest of the codebase. The existing (elemBitWidth == 0 || % 8) guard
already matches the helper's 0-on-unknown contract.
@castigli

Copy link
Copy Markdown
Contributor Author

How many "non-elementwise" vector ops are left? (gather/scatter/reduce/...) Is it too big to also include them into this PR?

As you said, only the gather/scatter/reduce are missing. Not a large addition, I will add them in this PR.

@zhangstevenunity zhangstevenunity left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: A2/A3 VPTO elementwise

Deep pass over the lowering (LowerPTOToUBufOps), the LLVM intrinsic emitter, the CLI/pipeline wiring, the ODS/verifiers/effects, and the PTODSL surface. Overall the A2/A3 elementwise path is well-built: the intrinsic emission is internally consistent with the design docs, the new ops (vaddrelu/vdup/vln) and the txor tmp-scratch effects modeling are correct, and most of the earlier Gemini review was against a stale commit and is addressed at HEAD.

The findings that stand out are all cases where this A2/A3 PR reaches into the shared A5 / VPTO device-emission path:

  • P2 buildVPTOEmissionOptions now mis-targets A5 VPTO cube kernels (dav-c310-vec instead of dav-c310-cube). Inline on ptoas.cpp:2651.
  • P2 usesCANN900Lowering flipped to unconditional false disables the CANN900 emitter for all targets/CANN versions, not just A3. Inline on VPTOLLVMEmitterDispatcher.cpp:15.
  • P2 The lowering silently drops each tile's valid-shape, so the valid-shape-aware dispatch modes (and the lit tests named after them) are effectively dead, and every op processes padding. Inline on LowerPTOToUBufOps.cpp:252.
  • P3 The PTODSL native launch-wrapper compile doesn't receive target_arch. Inline on toolchain.py:173.

Verified clean (not bugs at HEAD)

  • txor's tmp is a required operand and WRITE-modeled in getEffects; PlanMemory gives it a distinct buffer and LowerPTOToUBufOps decomposes txor atomically -> no aliasing/missing-sync bug (the recurring scratch-effect bug class is not present here).
  • taddrelu A2/A3-only: TAddReluOp::verify + dispatchVerifierByArch reject a5, and the dtype gate i16/f16/f32 matches the available VADDRELU intrinsics; PTODSL has a trace-time guard plus negative tests.
  • vaddrelu/vdup/vln intrinsic names, operand order, and config-word layouts match the design doc and the lit tests; the CBuf storage-bit-width fix (2ca1095) is sound.
  • Gemini's == "dav-c220-vec" cube-exclusion flag is a false alarm: the elementwise op-pattern/legality sites (10994/11166) are vector-only by design and march is never dav-c220-cube on this path. Gemini's leftover-lambda compile error and VERITY typo were on a stale commit and are not present at HEAD.

Lower-priority notes

  • UB op verifiers only check the UB memory-role, not that dst/src share element type/shape; a hand-written .pto with mismatched pointer element types picks the intrinsic from src0 and miscompiles with no diagnostic (VPTOLLVMEmitter.cpp:4744). Compiler-generated IR is always consistent, so this is a robustness gap.
  • set_mask hardware state is written by UBSetMask* but not read by the compute ops, so ordering is positional only; safe today (no scheduler on this IR post-lowering) but latent if one is added.
  • vdup rejects bf16 (clean compile error, not a miscompile); scalar-tile bf16 would pass an i64 bit-pattern to VMULS.bf16 (out of scope per doc, unguarded).
  • _ptoas_build_backend: build_editable(skip_install=True) no longer validates the runtime payload landed where the .pth points; _find_llvm_dir auto-probe may select an Ascend-shipped LLVM over the vpto-patched one on env-unset machines.

CI

The Codex review bot failed on INSUFFICIENT_BALANCE (not a code signal). No CI checks are reported on the branch, and the PR is currently CONFLICTING with main.

Comment thread tools/ptoas/ptoas.cpp Outdated
Comment thread lib/PTO/Transforms/VPTOLLVMEmitterDispatcher.cpp Outdated
Comment thread lib/PTO/Transforms/LowerPTOToUBufOps.cpp Outdated
Comment thread ptodsl/ptodsl/_runtime/toolchain.py Outdated

@zhangstevenunity zhangstevenunity left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found five correctness issues while reviewing the A2/A3 VPTO lowering and PTODSL integration. Inline details and reproductions are included below.

Comment thread lib/PTO/Transforms/LowerPTOToUBufOps.cpp Outdated
Comment thread lib/PTO/Transforms/LowerPTOToUBufOps.cpp Outdated
Comment thread lib/PTO/Transforms/LowerPTOToUBufOps.cpp Outdated
Comment thread lib/PTO/Transforms/LowerPTOToUBufOps.cpp Outdated
Comment thread ptodsl/ptodsl/_runtime/toolchain.py Outdated
@castigli

Copy link
Copy Markdown
Contributor Author

Review update:

  • Merged current main in 69be84f80 and resolved the upstream L2-cache API overlap.
  • Local validation: 919/919 lit tests and 392/392 A3 VPTO hardware cases passed. Hardware testing was restricted with ASCEND_RT_VISIBLE_DEVICES=2,3.
  • Gather is split into feat(vpto): add A2/A3 gather lowering castigli/PTOAS#2.
  • Scatter and reduce will follow as separate PRs based on feature/a2a3-llvm.

The two test-layout discussions remain open intentionally. @Zhendong404, please re-review the refreshed head.

@castigli

Copy link
Copy Markdown
Contributor Author

@learning-chip I have a parallel PR adding gather ops (castigli#2). I will do the same for scatter and reduce. However, given the cost keeping in sync with main, I would prefer to merge this PR first as it is and have 3 small follow ups for the missing vector ops. Is that OK?

@learning-chip

Copy link
Copy Markdown
Contributor

I would prefer to merge this PR first as it is and have 3 small follow ups for the missing vector ops. Is that OK?

This is ok for me -- @zhangstevenunity ok to merge this?

@zhangstevenunity
zhangstevenunity merged commit c09a213 into hw-native-sys:main Jul 21, 2026
12 of 13 checks passed
@reedhecre

Copy link
Copy Markdown

A3 板测失败

  • 触发方式:merged
  • 源码提交:c09a21312cb6
  • 结果汇总:OK 219 / FAIL 2 / SKIP 2
  • 日志:/home/zhongxuan/ptoas-board-monitor/runtime/logs/20260721_011321_merged_pr908.log
  • 失败阶段:board-validation / exit=1

失败用例

  • comm_p2p_binding_variants (run, exit=1)
  • comm_p2p (run, exit=1)

@reedhecre

Copy link
Copy Markdown

A3 板测失败详情:PR #908

comm_p2p_binding_variants

stage=run info=exit=1

[ERROR] aclrtSynchronizeStream(stream) failed: 507035 (/home/zhongxuan/ptoas-board-monitor/runtime/runs/20260721_011321_merged_pr908/npu_validation/CommSync/comm_p2p_binding_variants/main.cpp:122)
[ERROR] RecentErrMsg: EZ9999: Inner Error!
EZ9999[PID: 4083110] 2026-07-21-01:47:32.529.379 (EZ9999):  The error from device(chipId:0, dieId:1), serial number is 1766, there is an exception of aivec error, core id is 15, error code = 0x10, dump info: pc start: 0x124200000000, current: 0x124200000164, vec error info: 0x4000000b7, mte error info: 0x3c0300404d, ifu error info: 0x212c0bbbb5900, ccu error info: 0x21b59000000004f, cube error info: 0, biu error info: 0, aic error mask: 0x6500020bd00028c, para base: 0x12c100000000.[FUNC:PrintCoreInfo][FILE:device_error_core_proc.cc][LINE:645]
        TraceBack (most recent call last):
       The extend info: errcode:(0x10, 0, 0) errorStr: Illegal instruction, which is usually caused by unaligned UUB addresses. fixp_error0 info: 0x300404d, fixp_error1 info: 0x3c, fsmId:0, tslot:3, thread:0, ctxid:0, blk:0, sublk:0, subErrType:4.[FUNC:PrintCoreInfo][FILE:device_error_core_proc.cc][LINE:658]
       Kernel task happen error, retCode=0x31, [vector core exception].[FUNC:PreCheckTaskErr][FILE:davinci_kernel_task.cc][LINE:1729]
       AIV Kernel happen error, retCode=0x31.[FUNC:GetError][FILE:stream.cc][LINE:1475]
       [AIC_INFO] after execute:args print end[FUNC:GetError][FILE:stream.cc][LINE:1475]
       [DFX_INFO]Aicore kernel execute failed, device_id=1, stream_id=46, report_stream_id=46, task_id=0, flip_num=0, fault kernel_name=comm_p2p_binding_variants_kernel, fault kernel info ext=comm_p2p_binding_variants_kernel, program id=0, hash=16541545288638093324.[FUNC:GetError][FILE:stream.cc][LINE:1475]
       rtStreamSynchronize execution failed, reason=vector core exception[FUNC:FuncErrorReason][FILE:error_message_manage.cc][LINE:65]
       synchronize stream failed, runtime result = 507035[FUNC:ReportCallError][FILE:log_inner.cpp][LINE:148]
[2026-07-21 01:47:33] ERROR: testcase failed (exit 1): comm_p2p_binding_variants
comm_p2p

stage=run info=exit=1

[ERROR] aclrtSynchronizeStream(stream) failed: 507035 (/home/zhongxuan/ptoas-board-monitor/runtime/runs/20260721_011321_merged_pr908/npu_validation/CommSync/comm_p2p/main.cpp:122)
[ERROR] RecentErrMsg: EZ9999: Inner Error!
EZ9999[PID: 4093884] 2026-07-21-01:47:51.086.933 (EZ9999):  The error from device(chipId:0, dieId:1), serial number is 1767, there is an exception of aivec error, core id is 20, error code = 0x10, dump info: pc start: 0x124200000000, current: 0x124200000168, vec error info: 0xdf00005f59, mte error info: 0x6d0600009a, ifu error info: 0x212c0bbb3bdc0, ccu error info: 0x21b59000000004f, cube error info: 0, biu error info: 0, aic error mask: 0x6500020bd00028c, para base: 0x12c100000000.[FUNC:PrintCoreInfo][FILE:device_error_core_proc.cc][LINE:645]
        TraceBack (most recent call last):
       The extend info: errcode:(0x10, 0, 0) errorStr: Illegal instruction, which is usually caused by unaligned UUB addresses. fixp_error0 info: 0x600009a, fixp_error1 info: 0x6d, fsmId:0, tslot:3, thread:0, ctxid:0, blk:0, sublk:0, subErrType:4.[FUNC:PrintCoreInfo][FILE:device_error_core_proc.cc][LINE:658]
       Kernel task happen error, retCode=0x31, [vector core exception].[FUNC:PreCheckTaskErr][FILE:davinci_kernel_task.cc][LINE:1729]
       AIV Kernel happen error, retCode=0x31.[FUNC:GetError][FILE:stream.cc][LINE:1475]
       [AIC_INFO] after execute:args print end[FUNC:GetError][FILE:stream.cc][LINE:1475]
       [DFX_INFO]Aicore kernel execute failed, device_id=1, stream_id=46, report_stream_id=46, task_id=0, flip_num=0, fault kernel_name=comm_p2p_kernel, fault kernel info ext=comm_p2p_kernel, program id=0, hash=6260346515940177617.[FUNC:GetError][FILE:stream.cc][LINE:1475]
       rtStreamSynchronize execution failed, reason=vector core exception[FUNC:FuncErrorReason][FILE:error_message_manage.cc][LINE:65]
       synchronize stream failed, runtime result = 507035[FUNC:ReportCallError][FILE:log_inner.cpp][LINE:148]
[2026-07-21 01:47:53] ERROR: testcase failed (exit 1): comm_p2p

@reedhecre

Copy link
Copy Markdown

A5 板测成功

  • 触发方式:merged
  • 源码提交:c09a21312cb6
  • 结果汇总:OK 21 / FAIL 0 / SKIP 0
  • 日志:/root/ptoas-board-monitor-a5/logs/20260721_183905_merged_pr908.log
  • 结果 TSV:/root/ptoas-board-monitor-a5/logs/20260721_183905_merged_pr908.tsv

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.

6 participants