How gyselax/gysela-mini-app_insitu works
Gysela-mini-app is a mini-application for testing in-situ/in-transit GYSELA I/O and compression, alongside Python analysis and fluid-moment diagnostics. The main workflow is to run the C++ compression app with GYSELA and PDI YAML configuration, optionally launch benchmark branches, and evaluate compression results. The graph includes documented and indexed module relationships; unsampled implementation details and data-flow links are omitted where evidence is limited.
Main entry points: compression_config.py Compression configuration · launch_benchmark.py Benchmark launcher · gys_compress.cpp Compression app · neural_network.py Neural compressors
Components 23
Benchmark orchestration
- Benchmark launcher
simulations/compression/launch_benchmark.py - Benchmark parameters
simulations/compression/params
C++ simulation
- Compression app
src/compression/gys_compress.cpp - Compression solver
src/compression/predcorr_compress.cpp - Spline definitions
src/spline_definitions.hpp - 5D geometry
src/geometry.hpp - C++ fluid moments
src/fluid_moments/fluid_moments.cpp - Moment operators
src/fluid_moments/fluid_moments.hpp
Python compression
- Compression evaluation
processing/compression/evaluate_compression.py - Compression configuration
processing/compression/compression_config.py - Compressor interface
processing/compression/compressor.py - PCA compressor
processing/compression/compression_methods/PCA.py - Neural compressors
processing/compression/compression_methods/neural_network.py - Random-noise compressor
processing/compression/compression_methods/random_noise.py
Diagnostics and analysis
- Compression diagnostics
processing/compression/compression_diagnostics.py - Python fluid moments
processing/fluid_moments.py - Moment verification
processing/utils/verify_fluid_moments.py - Timing statistics
processing/utils/read_timing_stats.py - Analytics
processing/analytics.py - Optimized analytics
processing/optimised_analytics.py - Measurement tools
processing/measure.py - Diagnostics CLI
processing/utils/cli.py
Other components
- Operator
Connections 19
- Operator → Compression app: runs with YAML
README.md - Operator → Benchmark launcher: starts benchmark
README.md - Benchmark launcher → Benchmark parameters: uses templates
README.md - Benchmark launcher → Compression evaluation: invokes evaluation
simulations/compression/launch_benchmark.py - Compression app → Compression solver: uses solver
src/compression/gys_compress.cpp - Compression app → Spline definitions: uses definitions
src/compression/gys_compress.cpp - Compression configuration → PCA compressor: references method
processing/compression/compression_config.py - Compression configuration → Neural compressors: references method
processing/compression/compression_config.py - Compression configuration → Random-noise compressor: references method
processing/compression/compression_config.py - PCA compressor → Compressor interface: uses interface
processing/compression/compression_methods/PCA.py - Neural compressors → Compressor interface: uses interface
processing/compression/compression_methods/neural_network.py - Compression evaluation → Neural compressors: runs online evaluation
processing/compression/evaluate_compression.py - Compression diagnostics → Compression configuration: uses settings
processing/compression/compression_diagnostics.py - Moment verification → Python fluid moments: computes moments
processing/utils/verify_fluid_moments.py - Analytics → Python fluid moments: uses moment calculations
processing/analytics.py - C++ fluid moments → Moment operators: implements operators
src/fluid_moments/fluid_moments.cpp - Moment operators → 5D geometry: uses dimensions
src/fluid_moments/fluid_moments.hpp - Diagnostics CLI → Timing statistics: dispatches command
processing/utils/cli.py - Diagnostics CLI → Moment verification: dispatches command
processing/utils/cli.py