Add streakline post-processing and exp control-matrix batch runners (vorticity + streakline)

This commit is contained in:
Frank14f committed 2026-05-27 19:19:51 +08:00
1 parent 50b2b6a7ca
commit 4758eb3215
30 files changed
+4128 -4600

No files matched your search

+25
View File
@@ -217,6 +217,31 @@ Tested on Tesla V100-SXM2-16GB (CUDA 12.4):
| Re100 EsoPull SRT | 384×192 | ~3900 |
| Re3000 MRT+LES | 384×192 | ~4360 |
### Performance methodology
For a "kernel-dominant" baseline (closest to FluidX3D-style throughput testing),
use the dedicated script:
```bash
conda run -n pycuda_3_10 python tests/run_perf_baseline.py \
--lattice-model D2Q9 --nx 384 --ny 192 --nz 1 \
--steps 4000 --warmup-steps 400 --batch-steps 100
```
This path times GPU stepping (`stepper.step`) and reports MLUPS and batch latency
percentiles. By default it avoids host readbacks inside the timed loop.
APIs that trigger device-to-host transfers (DTOH) and can reduce MLUPS:
- `Simulation.get_macroscopic()` / `LBMField.get_macroscopic()` (downloads full DDF)
- `Simulation.get_ddf()` / `LBMField.download_ddf()`
- `Simulation.save_checkpoint()` (downloads field/state buffers)
- Body observation downloads (e.g. `ObjectManager.download_obs_full_async(...)`)
Use `tests/run_perf_baseline.py` switches (`--macro-every`, `--ddf-every`,
`--checkpoint-every`, `--obs-every`) to quantify each overhead path against the
pure-step baseline.
## Citation
If you use CelerisLab in your research, please cite: