Skip to content

feat: track current runtime device in dispatch#17

Closed
spike-zhu wants to merge 1 commit into
masterfrom
feat/runtime-dispatch-device-state
Closed

feat: track current runtime device in dispatch#17
spike-zhu wants to merge 1 commit into
masterfrom
feat/runtime-dispatch-device-state

Conversation

@spike-zhu

Copy link
Copy Markdown
Contributor

本次修改的目的是让 InfiniRT runtime dispatch 层维护完整的当前设备状态。

原先 dispatch 层只记录 Device::Type,只能区分当前使用的是 CPU、NVIDIA 等后端类型,无法记录具体的 device index。这样在多卡后端场景下,SetDevice(1) 虽然会调用到底层 runtime,但 dispatch 层自身并不知道当前设备已经切换到 index 1。

本次修改将 thread-local 状态从 Device::Type 调整为完整的 Device{type, index},并在 SetDevice / GetDevice 成功后同步更新当前 device index,使 dispatch 层状态与底层 runtime 状态保持一致。

@spike-zhu spike-zhu requested a review from voltjia July 6, 2026 09:02
@spike-zhu spike-zhu self-assigned this Jul 6, 2026
@voltjia

voltjia commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

为啥 dispatch 层需要维护设备号?这个是哪里出问题了嘛,还是什么事情需要这个。因为目前的设计就是 infini::rt 这一层唯一做的就是 device type 的转发,内部的转发都是 infini::rt::runtime,也就是厂商库内部负责的。

@spike-zhu

Copy link
Copy Markdown
Contributor Author

为啥 dispatch 层需要维护设备号?这个是哪里出问题了嘛,还是什么事情需要这个。因为目前的设计就是 infini::rt 这一层唯一做的就是 device type 的转发,内部的转发都是 infini::rt::runtime,也就是厂商库内部负责的。

感谢嘉成指出,是这样的,已关闭 PR

@spike-zhu spike-zhu closed this Jul 6, 2026
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