# 同一压力系统与原生推理的成本

压力实验：64²—1024²、六种系数分布，三个求解器使用同 A、b、对称压力基准、零初值和 1e-9 内部相对容差，每项五次重复。真实残差另算。矩阵公共组装单列；下面的求解器总时为每次 setup+solve 后再取中位数。

| 系数 | N | AMGCL SA / compact 总时 | AMGCL UA / compact 总时 |
|---|---:|---:|---:|
| uniform | 64 | 1.421 | 1.504 |
| uniform | 128 | 1.356 | 1.424 |
| uniform | 256 | 2.716 | 3.549 |
| uniform | 512 | 4.011 | 8.712 |
| uniform | 1024 | 3.652 | 10.781 |
| smooth | 64 | 1.328 | 1.418 |
| smooth | 128 | 1.109 | 1.175 |
| smooth | 256 | 1.969 | 2.778 |
| smooth | 512 | 3.369 | 8.180 |
| smooth | 1024 | 3.217 | 9.733 |
| axis | 64 | 1.669 | 1.645 |
| axis | 128 | 1.705 | 1.746 |
| axis | 256 | 2.480 | 3.396 |
| axis | 512 | 4.345 | 9.012 |
| axis | 1024 | 3.947 | 11.719 |
| slanted | 64 | 1.859 | 1.689 |
| slanted | 128 | 2.201 | 1.745 |
| slanted | 256 | 2.274 | 3.016 |
| slanted | 512 | 4.790 | 9.043 |
| slanted | 1024 | 4.013 | 12.390 |
| drop | 64 | 2.098 | 1.849 |
| drop | 128 | 2.239 | 2.013 |
| drop | 256 | 2.477 | 3.024 |
| drop | 512 | 4.899 | 9.305 |
| drop | 1024 | 4.486 | 12.482 |
| two_drops | 64 | 2.106 | 1.868 |
| two_drops | 128 | 2.288 | 1.926 |
| two_drops | 256 | 2.497 | 3.036 |
| two_drops | 512 | 5.555 | 10.839 |
| two_drops | 1024 | 4.129 | 12.184 |

比值大于 1 表示该固定系统上 compact 用时较少。这三个配置的聚合、平滑和循环也不同，结果不能归结为单独的内存布局收益。所有个别退步和每次观测均保留。

![压力成本](figures/pressure_scaling.png)

| 求解器 | 单算法 1024² 六系数套件的进程峰值 RSS（MiB） |
|---|---:|
| compact | 268.82 |
| amgcl_ua | 454.67 |
| amgcl_sa | 564.03 |

RSS 包含共同输入/参考矩阵、工作向量和运行库，不是纯层级内存；也不是 GPU 显存。矩形网格与六个真实场回放的完整表另见 rectangular_summary.csv 和 replay_summary.csv。

原生推理每个批量、每个输出模式五轮，每轮预热 50 次后记录 200 次。CUDA 使用严格的原生设备检查，并通过 CPU/CUDA 数值对照。计时覆盖接口数值检查和主机—设备往返，不含仿真提取模板、门控或压力。

| 输出 | 批量 | CPU 中位数（µs） | CUDA 中位数（µs） | CPU/CUDA |
|---|---:|---:|---:|---:|
| flux | 1 | 16.88 | 327.58 | 0.052 |
| flux | 16 | 76.76 | 360.21 | 0.213 |
| flux | 64 | 272.19 | 359.65 | 0.757 |
| flux | 256 | 1049.79 | 361.20 | 2.906 |
| flux | 1024 | 4403.27 | 368.49 | 11.949 |
| flux | 3840 | 17985.91 | 458.10 | 39.262 |
| flux | 16384 | 89843.73 | 843.43 | 106.521 |
| joint | 1 | 17.35 | 355.56 | 0.049 |
| joint | 16 | 77.17 | 384.09 | 0.201 |
| joint | 64 | 272.70 | 382.82 | 0.712 |
| joint | 256 | 1057.10 | 386.48 | 2.735 |
| joint | 1024 | 4372.15 | 393.36 | 11.115 |
| joint | 3840 | 17510.60 | 489.50 | 35.772 |
| joint | 16384 | 88433.55 | 874.14 | 101.167 |

![推理延迟](figures/neural_latency.png)

阴影是调用延迟的第 5—95 百分位，不是置信区间。CPU 测量期间已观察到 GPU 背景利用率约 89—91%，因此不能把本轮 CUDA 数据描述为独占显卡测试。也不能把大批量推理加速直接当成整个流体模拟的同精度加速。

首次 CUDA 设备名格式错误发生在实际推理前，失败文件保留并排除；压力和 CPU 测量没有为此重跑。有效目录由 neural_runs.json 指定。
