Skip to content

perf: 建立 update_state 加速 contract #678

Description

@TATP-233

目标

建立 update_state 加速 contract,为不同 task 的高性能实现提供稳定边界。

这个 issue 只定义目标,不限定具体设计或实现方案。

背景

现有 task-specific Numba 优化已经证明:reward / termination / obs assembly 等纯数组路径可以获得明显加速,但 collector 端到端收益会被 backend getter、state materialization、reset、bookkeeping 等边界成本稀释。

因此后续不应追求一个跨 task 的单一通用 Numba kernel,而应建立可支撑 task-specific specialized kernel 的 update_state 加速 contract。

目标范围

  • 为 task-owned 高性能 update_state 路径提供稳定接入边界。
  • 降低 task-specific 加速实现对 env/backend 内部细节的重复依赖。
  • 支撑 backend state snapshot、buffer 复用、typed data path、显式能力校验等后续优化方向。
  • 保持 backend isolation 和 env contract,不绕过 NpEnv / SimBackend 既有边界。
  • 不要求所有 task 共享同一个 kernel;性能优先时允许 task-specific specialized implementation。

非目标

  • 本 issue 不定义具体 API 形态。
  • 本 issue 不要求一次性迁移所有 task。
  • 本 issue 不要求实现跨 task 单一通用 Numba kernel。
  • 本 issue 不讨论 learner 或算法侧优化。

完成标准

  • 有明确的 contract 边界,可让 task-specific 加速路径在不破坏 env/backend contract 的前提下接入。
  • 至少一个已有 G1 task 的加速路径可以按该 contract 表达或迁移。
  • benchmark 能同时报告专项 hot path 和 collector e2e 收益,用于验证 contract 是否真正服务性能目标.

Refs: #665, #663

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions