XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESystem

【Rust】XFE系统,基于Rust和汇编

公开
关注 0 Fork 0 Star 0
Readme.md

Windows 宿主 CUDA 参考工具

这是手写 PTX 程序与硬件结果的参考工具,不是 XFESystem 显卡驱动。没有 NuGet 依赖;只加载 Windows System32 中现有的 nvcuda.dll,不安装、重置、重绑或更新驱动。默认仅查询,绝不创建计算上下文。

dotnet run --project Tools/Gpu/DriverOracle/DriverOracle.csproj -c Release --artifacts-path build/Gpu/DriverOracleArtifacts
dotnet run --project Tools/Gpu/DriverOracle/DriverOracle.csproj -c Release --artifacts-path build/Gpu/DriverOracleArtifacts -- --self-test
dotnet run --project Tools/Gpu/DriverOracle/DriverOracle.csproj -c Release --artifacts-path build/Gpu/DriverOracleArtifacts -- --execute

只有显式 --execute 才创建自有的小型 CUDA 上下文。设备必须同时匹配 CUDA 名称/计算能力 12.0/PCI bus 与 Windows 的 10DE:2B85 实例。固定嵌入的自有 XfeVectorAdd.ptx(PTX 8.7,SM120)经 cuLinkCreate/AddData/Complete 实际编译为 cubin,并使用 Driver API 装载、启动、同步与读回;不需要 nvcc,不接受外部 PTX、模块、参数或任意输出路径。

测试固定 65537 个 uint,覆盖非整块 launch 和模 2^32 溢出。3 个自有设备分配总计 786700 字节,低于 4 MiB;输出预填 poison,两端各 32 个 guard。CPU 对全部结果和 guards 逐项比较并记录 SHA256。清理只释放自身分配、模块、链接器和上下文,不访问宿主显示资源。同步调用依赖驱动正常返回;不将超时处理实现为显卡重置。

每次运行新建 build/Gpu/HostOracle-*,保存原始返回码、JIT 日志、来源/驱动/PTX 哈希与清理状态。实际生成的 XfeVectorAdd-sm120.cubin 只保存在忽略的 build 中,不应提交,也没有捆绑任何 NVIDIA 驱动二进制。失败记录保留,不覆盖旧结果。--self-test 只测试 CPU 校验器拒绝错误结果、guard 损坏和未改写的 poison,不执行 GPU。

所有记录始终标记 Scope=WindowsHostOnly、GuestCudaVerified=false、GpuRasterizationVerified=false。即使 ActualHostExecutionPassed=true,也只表示 Windows 宿主完成这一小段 CUDA 运算,没有证明 XFESystem 裸机 CUDA、GPU 桌面、实际刷新率或预览延迟达标。

接口依据为 NVIDIA Driver API、模块与链接、执行接口。PCI 对照仅使用 Windows SetupAPI 的只读设备属性。