产物、路径与源码地图
本页是仓库目录、构建产物、会话目录、客户机镜像内文件与路径相关环境变量的唯一事实源。路径表按用途分组;版本与 provenance 见 版本矩阵。
源码目录
路径 |
内容 |
说明 |
|---|---|---|
|
YAML 解码、校验、模板合并、内存布局、适配器与命令渲染 |
Rust 库,暴露 |
|
执行计划、进程监督、资源所有权、磁盘与清理 |
Rust 库,暴露 |
|
命令行、信号处理、事件与 verdict 输出 |
|
|
拓扑渲染、会话生命周期与 vfio-user 集成测试 |
需要 QEMU/gem5 的用例标记为 |
|
可复用的 vHost 与设备模型配置 |
由机器配置导入 |
|
完整机器配置与多机组合 |
测试加载配置并渲染全部进程 |
|
预留给 vHost 启动后运行的示例程序 |
拓扑 YAML 存放在 |
|
构建、开发容器、launcher、测试运行器与镜像辅助脚本 |
|
|
CI 生命周期、ROCm 回归、镜像与运行时产物工具 |
见 |
|
客户机镜像 recipe(Packer 模板与 Ansible playbook) |
唯一 recipe: |
|
MI300X 设备模型、vfio-user 服务端、GART/PM4/SDMA/IH |
gem5 子模块内容 |
|
cosim gem5 配置 |
|
|
SST 网络实验数据模型 |
独立于 Rust launcher |
|
vfio-user 传输库 |
gem5 子模块依赖 |
|
QEMU 的 vfio-user 服务端与客户端实现 |
QEMU 子模块内容 |
|
双语文档源 |
中文为主,英文为逐文件镜像 |
构建产物
构建 recipe 与产物的对应关系如下;版本信息见 版本矩阵。
产物 |
路径 |
recipe |
|---|---|---|
QEMU |
|
|
gem5 |
|
|
客户机内核 |
|
|
客户机磁盘 |
|
|
ROCm asset bundle |
|
|
Rust launcher |
|
|
示例 GPU 程序 |
|
|
会话目录与运行时产物
cosim run 为每台机器创建独立目录与资源;常见路径如下。
路径 |
内容 |
生命周期 |
|---|---|---|
|
运行目录: |
正常结束保留; |
|
会话锁;launcher 与所有子进程持有同一把锁 |
进程全部退出后释放 |
|
Linux 上的内存池目录,每台机器一个 |
正常结束删除 |
|
设备提供给 host 的 vfio-user socket |
结束删除 |
|
每台机器的 qcow2 磁盘 overlay( |
结束删除 |
|
共享的磁盘镜像租约锁目录( |
锁文件在会话结束后保留 |
|
遗留 shell launcher 捕获的诊断产物目录 |
由 launcher 清理流程管理 |
客户机镜像内文件
客户机镜像由唯一的 recipe 构建,驱动初始化依赖以下文件。
路径(客户机内) |
用途 |
|---|---|
|
VGA BIOS ROM 二进制,由 |
|
IP discovery 固件 |
|
指向 |
|
开机初始化服务单元 |
|
初始化脚本:写 ROM、链接固件、加载驱动并校验 |
|
ROCm 7.0 DKMS amdgpu 内核模块 |
gem5 MI300X 模型源码
文件( |
作用 |
|---|---|
|
vfio-user 服务端 SimObject,导出 BAR、配置空间与中断 |
|
vfio-user SimObject 的 Python 封装 |
|
vfio-user 服务端使用的 CosimBridge 抽象接口 |
|
GPU 设备核心: |
|
GART、AGP、MMHUB 与用户上下文翻译,含共享 VRAM 回退 |
|
PM4 解码、DMA 路由、VRAM 写路由与 |
|
PM4 操作码,包括 |
|
SDMA 执行、rptr 回写路由与 |
|
IH ring DMA 与 MSI-X 中断发送 |
|
ASIC 初始化完成寄存器 |
gem5 配置、Python 组件与 QEMU 接口
文件 |
作用 |
|---|---|
|
vfio-user cosim 系统配置,由 |
|
MI300X 设备定义 |
|
QEMU 设备服务端的 vfio-user 对象实现 |
路径相关环境变量
变量 |
作用 |
默认值 |
|---|---|---|
|
工作区根目录,资源路径的解析基准 |
仓库根目录(由 |
|
磁盘镜像租约锁目录 |
|
|
构建与检查 recipe 在主机还是临时容器中执行 |
Linux 为 |
|
开发容器镜像名 |
|
|
构建与执行架构 |
当前主机架构, |
|
gem5 构建目录 |
|
|
标准输入关闭时结束会话 |
|
|
遗留 shell launcher 的会话标识,用于派生 socket 与共享内存名 |
由 |
|
客户机 GPU 测试程序的编译镜像 |
|
来源与维护
路径与文件清单来自仓库当前布局;新增或移动文件时同步更新本页:
构建产物路径由
justfile与scripts/host/build.sh决定。会话路径与保留名由
crates/cosim-runtime/src/layout.rs决定。客户机文件路径由镜像 recipe 的
provision.yml与files/决定。环境变量由
justfile、scripts/host/dev.sh、scripts/host/cosim_launch.sh与crates/cosim-runtime/src/env.rs定义。
核对命令:
just --list
just build-status
just run-topology resources/machines/single-gpu.yaml --dry-run