# Windows 宿主 CUDA 参考工具 这是手写 PTX 程序与硬件结果的参考工具,不是 XFESystem 显卡驱动。没有 NuGet 依赖;只加载 Windows System32 中现有的 `nvcuda.dll`,不安装、重置、重绑或更新驱动。默认仅查询,绝不创建计算上下文。 ```powershell 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](https://docs.nvidia.com/cuda/cuda-driver-api/index.html)、[模块与链接](https://docs.nvidia.com/cuda/cuda-driver-api/cuda_driver_api/group__CUDA__MODULE.html)、[执行接口](https://docs.nvidia.com/cuda/cuda-driver-api/cuda_driver_api/group__CUDA__EXEC.html)。PCI 对照仅使用 Windows SetupAPI 的只读设备属性。