Add streakline post-processing and exp control-matrix batch runners (vorticity + streakline)
This commit is contained in:
1 parent
50b2b6a7ca
commit
4758eb3215
30 files changed
+4128
-4600
No files matched your search
@@ -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:
|
||||
|
||||
Reference in new issue
Block a user