nekRS
nekRS copied to clipboard
[WIP] NekRS + Ascent for In-Situ Visualization
This is a working in progress draft PR preparing for the next release. Original code is from Victor Mateevitsi (@mvictoras)
Feature
Enable on-the-fly visualization directly rendered on device without any DtoH copies. This further reduces the data footprint (runtime, storage, paraview I/O) at large scale.
TODO
Necessary changes
- [x] put
mesh_data
into name space - [ ] Use mempool and only re-allocating if needed.
- [ ] assign backend? allow mixed backend (via extra DtoH copies)?
- [ ] a better timer?
- [ ] verbose mode, print available fieldName, TODO, check vel_mag?
- [ ] reduce yaml files
- [ ] Clean up code. May need several iterations
- [ ] A cleaner script. There must be a better way to set the INCLUDE / LIB FLAGS
- [ ] Provide more example (link to external repository) and gallery. Meanwhile, the pb146 example doesn't have other fancy feature. We should just use it.
- [ ] A README to simply explain what is what.
Features
- [x] Support "default mode", like in tavg, auto use all active fields.
- [ ] map2reg, at other N (crucial for "noisy fields", like the contour of lambda2)
- [ ] cht
- [ ] neknek?
- [ ] particles?
- [x] dfloat = fp32
Tests
- [x] Laptop / Linux server (CPU)
- [ ] Laptop with docker env (CPU)
- [x] Polaris CUDA (both float=fp64 or fp32)
- [x] Frontier OpenMP (Ascent module v0.8.0)
- [x] Frontier HIP (Ascent module v0.9.2)
- [ ] performance?