快速开始
本章内容
环境与前置条件
主机环境
工具与版本
磁盘与内存
检查清单
相关页面
安装与构建
获取源码与子模块
选择构建环境
一键构建
分步构建
客户机资产
验证构建结果
相关页面
客户机镜像
镜像内容
复用预构建镜像
重新构建镜像
产物清单
校验与复用
相关页面
首次会话
前置条件
启动命令
会话做了什么
连接客户机串口
会话产物
关闭会话
相关页面
验证客户机
自动初始化
检查 GPU 与 ROCm
第一个 HIP 程序
手动恢复驱动
相关页面
Linux 主机
适用场景
系统依赖
KVM 与权限
WSL2 与嵌套虚拟化
验证环境
相关页面
开发容器
适用场景
构建与选择环境
dev.sh 的行为
在容器中工作
限制
相关页面
下一步
理解系统如何工作
使用与扩展 launcher
深入仿真器与驱动
编写自己的拓扑
查表与排错
相关页面
推荐阅读路径
预期
相关页面
整体架构介绍
本章内容
组件与职责
总览
组件职责
QEMU:功能仿真
gem5:性能仿真
vfio-user:两者之间的桥
支撑设施
源码入口
相关页面
会话执行流程
从拓扑到计划
会话启动
就绪探测与租约
关闭与会话结束
产物与 verdict
相关页面
内存与共享内存模型
内存池与区域
客户机物理地址与文件偏移
QEMU 与 gem5 如何共享
容量预留与会话隔离
数据与一致性
相关页面
vfio-user 通信接口
角色
连接与生命周期
协议操作
一次 Doorbell 到中断
DMA 映射
为什么使用 vfio-user
相关页面
关键设计取舍
功能仿真与性能仿真的分工
为什么用 vfio-user 连接
为什么用共享内存池
为什么用 Rust launcher
为什么由机器直接拥有 vHost
代价与限制
相关页面
设计目标
推荐阅读路径
与其他章节的分工
相关页面
Cosim Launcher 介绍
启动器负责什么
本章内容
命令与选项
全局选项
子命令
run 选项
典型工作流
事件、退出码与 verdict
源码与依据
相关页面
YAML 加载与计划
流水线概览
拓扑文档
导入与模板展开
校验与标识符
内存布局
生成执行计划
源码与依据
相关页面
会话生命周期
启动顺序
运行目录与资源发布
进程监督与就绪探测
关闭与信号
开发容器中的会话
磁盘、overlay 与锁
清理与会话记录
源码与依据
相关页面
Rust 工作区
工作区结构
模块职责
公开接口
扩展点:适配器与命令模板
接入新模型的步骤
依赖与安全规则
源码与依据
相关页面
会话排错
会话事件与日志
阅读 verdict
常见启动失败
清理与残留资源
源码与依据
相关页面
遗留 shell launcher
定位
与 Rust launcher 的差异
运行流程
常用命令
维护边界
源码与依据
相关页面
推荐阅读路径
相关章节
QEMU 与 gem5 介绍
功能仿真与性能仿真
设备实现的选择
本章内容
QEMU 的两个职责
职责一:vhost
职责二:device model
本章内容
推荐阅读路径
gem5 的定位:性能仿真
运行形态
本章内容
推荐阅读路径
客户机驱动要求
镜像与驱动前提
内核命令行
驱动参数
ROM 写入顺序
自动加载与手动恢复
验证方式
常见失败
源码与依据
相关页面
模型调试
打开 gem5 调试输出
日志位置
常见模型问题
调试工作流
常用命令
源码与依据
相关页面
推荐阅读路径
拓扑结构与硬件支持
三层模型
本章内容
单机拓扑
单机的组成
进程扇出
内存池计算
运行目录与资源
一个最小单机示例
源码与证据
相关页面
多机拓扑
多机语义
count 展开
集群样例
多机的资源路由
运行多机
限制
相关页面
如何编写拓扑 YAML
文档骨架
导入与模板
机器、设备与 count
vHost 与设备字段
vHost 镜像与磁盘
校验、预览与运行
源码与证据
相关页面
机器目录
目录表
板卡页面
如何阅读一行
推荐阅读路径
源码与证据
相关页面
vHost 配置
vHost 在拓扑中的位置
vHost 字段
内置 profile
QEMU 命令契约
内存映射
串口与就绪时限
相关页面
设备目录
设备种类
设备字段
启动与就绪约定
设备与内存池
如何选择设备
相关页面
推荐阅读路径
相关页面
参考手册
拓扑 YAML schema
核心结构
文档字段
机器字段
vHost 字段
磁盘字段
设备字段
路径与限制
设备适配器
适配器清单
gem5-mi300x
qemu-device
模板设备与自定义命令
vHost 适配器契约
就绪探测与超时
来源与维护
相关页面
vHost 镜像配方
配方标识
配方中的文件
recipe.toml 字段
基础镜像:base
构建和安装:provision
安装变量与文件
导出文件:result
TOML 结构示例
provision.yml 写法与字段
安装文件的外层字段
安装步骤中的常用字段
项目传入的变量
文件路径与复制方向
使用镜像
命令
相关页面
客户机参数
amdgpu modprobe 参数
VGA ROM 写入
内核命令行
IP block mask
初始化顺序
校验与来源
相关页面
版本矩阵
组件版本
镜像与容器
客户机镜像配方
provenance 与校验
来源与维护
相关页面
产物、路径与源码地图
源码目录
构建产物
会话目录与运行时产物
客户机镜像内文件
gem5 MI300X 模型源码
gem5 配置、Python 组件与 QEMU 接口
路径相关环境变量
来源与维护
相关页面
GART 格式
PTE 格式
aperture 寄存器
协同仿真典型值
GART 表在 VRAM 中的布局
协同仿真回退查找
来源与维护
相关页面
已知问题
快速诊断
问题目录
4.1 VGA ROM 空指针崩溃
4.2 PSP / SMU 固件加载失败
4.3 协同仿真模式下 GART 表未填充
4.4 GART 未映射页崩溃
4.5 SDMA ring 测试超时
4.6 VRAM 地址 GART 翻译错误
4.7 共享内存文件偏移量不匹配
4.8 定时器溢出崩溃
4.9 PM4ReleaseMem.dataSelect panic
4.10 未处理的 PM4 操作码
4.11 PCI class code 不匹配
4.12 QEMU 串口控制台冲突
4.13 gem5 链接时内存不足
4.14 DRM client 错误 -13(缺少 DKMS 模块)
4.15 驱动 hw_init 失败后 rmmod 导致 oops
来源与维护
相关页面
遗留 launcher 参数表
适用范围
shell launcher 参数
派生路径与命名
gem5 config 参数
与 YAML launcher 的差异
来源与维护
相关页面
推荐阅读路径
事实源约定
相关章节
贡献指南
本章内容
开发与提交流程
环境与前置条件
子模块与仓库边界
分支与提交
提交前检查
文件归属
相关页面
新增 vHost 镜像配方
1. 选择标识
2. 声明构建
3. 安装镜像内容
4. 连接 vHost 样例
5. 验证
相关页面
checkpatch
检查范围与要求
本地运行
与 QEMU checkpatch.pl 的差异
误报
相关页面
维护者与 area
area 与文件归属
查询维护者
检查
自动分配
添加维护者
相关页面
CI 与回归
工作流总览
快速检查
构建缓存与产物
ROCm 回归
本地复现
相关页面
Rust 规范
模块边界
类型与配置边界
host 外部参数
错误与资源所有权
Rust 代码约定
验证与文档
相关页面
文档规范与双语规则
源格式与技术栈
中文优先与英文镜像
章节索引页模板
标题与页面结构
RST 书写约定
跨页引用与标签
支持状态(延后)
构建与检查
相关页面
推荐路径
提交前检查
相关页面
术语表
拓扑与运行
接口与硬件
仿真与构建
相关页面
SST 实验与远程 placement
SST 数据模型
远程 placement 规则
当前状态与限制
相关页面
cosim-gpu
索引
索引