Skip to content

feat(runtime): add hosted four-PE worker carrier - #87

Merged
lvhao7896 merged 3 commits into
mainfrom
codex/issue-346-lightweight-runtime
Aug 28, 2026
Merged

feat(runtime): add hosted four-PE worker carrier#87
lvhao7896 merged 3 commits into
mainfrom
codex/issue-346-lightweight-runtime

Conversation

@zhoubot

@zhoubot zhoubot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Implements the workload and reference-carrier side of LinxISA/SuperScalarModel#346 and PTO-ISA/pto-spec#150.\n\n- Multi-thread matmul exports __linx_group_worker_main and gives PE0 sole input/output ownership.\n- res_check links the toolchain-provided liblinx_builtin_rt.a statically.\n- The workload no longer owns a duplicate runtime implementation.\n- Adds a runtime-only four-PE smoke with symbol and --gc-sections retention checks.\n\nDependencies:\n- Public API: LinxISA/Linx-TileOP-API#34\n- Runtime implementation: LinxISA/llvm-project#71\n- musl sysroot packaging: LinxISA/musl#14\n- gfrun execution model: LinxISA/SuperScalarModel#360\n\nValidation: make dry-run links -llinx_builtin_rt after workload objects; the packaged archive from the musl PR plus the TileOP API header completes the four-PE gfrun smoke with R2=0.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2854535976

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +116 to +118
ifeq ($(group_runtime), on)
DEFINES += -DLINX_GROUP_RUNTIME
COMM_OBJ = $(GROUP_RUNTIME_OBJ)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Gate the four-PE runtime to Linx builds

When this matmul target is built with the supported PLAT=cpu res_check=on configuration, this block still defines LINX_GROUP_RUNTIME and routes main() through linx_group_run(). Outside Linx, CurrentPe() always returns 0, and no secondary PE ever calls __linx_group_worker_start, so PE0 spins forever waiting for done1 through done3; restrict runtime activation to PLAT=linx or provide host worker threads.

Useful? React with 👍 / 👎.

control.context = context;
StorePublished(&control.ready, 1);

control.status0 = __linx_group_worker_main(0, context);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Exclude the hosted runtime from ordinary bare-metal links

With baremetal=on, Makefile.common retains the wildcard-generated COMM_OBJ list, which now automatically includes every .cpp under common/src, including this runtime even when group_runtime=off. Ordinary targets such as test/kernel/norm do not define __linx_group_worker_main, so their link now fails on this unresolved reference; filter this object out of the common wildcard and add it only for opted-in group-runtime builds.

Useful? React with 👍 / 👎.

@lvhao7896
lvhao7896 merged commit 1ee45df into main Aug 28, 2026
ziyang-cheng added a commit to ziyang-cheng/SuperNPUBench that referenced this pull request Sep 5, 2026
ziyang-cheng added a commit to ziyang-cheng/SuperNPUBench that referenced this pull request Sep 7, 2026
- gfrun issue 源稿加权威分类表 + 每条【归属】:gfrun-1/2→Linx-TileOP-API PTO-ISA#62/PTO-ISA#63(API发RNE/dst几何违反spec)、
  gfrun-3/4/5→SuperScalarModel保留(真模型缺口)、gfrun-6/7→已退休(edcbd8b,应fail-closed,伪缺口)
- REPORT 加修正横幅+方法教训(判归属前查退休状态/验组件自测/反汇编比对发射vs owning ASL)
- PTO-ISA#87 TGPR2T 归 llvm 后端经复核正确(active op + header符合spec + 后端缺3源B.IOR pattern)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ziyang-cheng added a commit to ziyang-cheng/SuperNPUBench that referenced this pull request Sep 7, 2026
- 7 份已提交 issue 按线上号重命名并标题标注:
  PTO-ISA#49 docs, PTO-ISA#50 linx-compiler-backend, #478 gfrun-model-unimpl, #560 gfrun-ops20260904,
  PTO-ISA#87 linx-tgpr2t, #569 gfrun-model4, PTO-ISA#89 linx-bf16-codegen
- 去重: #560 doc 移除 gfrun-8~11(=#569)、PTO-ISA#87 doc 移除 linx-2(=PTO-ISA#89),各留指针
- 过时第二轮增量(_0929×3)移入 superseded/(线上无号,已被本轮取代)
- README 重写为 issue→文件索引;一文件对应一线上 issue

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ziyang-cheng added a commit to ziyang-cheng/SuperNPUBench that referenced this pull request Sep 7, 2026
- 删除切 tag 前(2026-09-03)的 superseded/ 旧增量草稿(以最新验证为准)
- 7 份 issue 按 ISSUE_<tag名>_<生成日期>_<issue号>.md 重命名:
  ops-20260828_20260902: PTO-ISA#49/PTO-ISA#50/#478
  ops-20260904_20260905: #560/PTO-ISA#87
  ops-20260904_20260907: #569/PTO-ISA#89
- README 更新为含 tag/日期的索引表

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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