How g25ait1184-pixel/battery-thermal-cuda works
This repository implements a GPU-accelerated battery thermal digital twin: an operator supplies operating conditions, and the application produces thermal predictions or simulation results. The documented model-development path uses physics-generated data to train a base neural model and residual correction; runtime inference can use AI inside its validated domain and physics otherwise. The physics solver also has global, tiled, halo, and stream execution variants, with CPU/GPU validation and performance metrics. Runtime relationships below follow the README and shown headers/inference code; main.cu and several implementation files were not sampled, so their internal call details are not asserted.
Main entry points: battery_thermal_twin.h Digital Twin · ai_inference.cpp AI Inference · battery_model.h Battery Physics Model · main.cu Interactive Application
Components 20
Twin Runtime
- Interactive Application
src/main.cu - Digital Twin
include/battery_thermal_twin.h - Twin State
include/twin_state.h - Twin Configuration
include/twin_config.h - Solver Configuration
include/config.h
Thermal Physics
- Battery Physics Model
include/battery_model.h - CPU Reference
include/battery_model.h
Physics-AI Models
- AI Inference
src/ai_inference.cpp - Model Parameters
ai_model_params.json
CUDA Execution
- Global GPU Solver
include/kernels.h - Tiled GPU Solver
include/kernels.h - Halo GPU Solver
include/kernels.h - CUDA Streams
include/stream_solver.h - Performance Metrics
include/metrics.h
Training and Evaluation
- Physics Dataset Generation
include/generate_v5_dataset.h - Base and Residual Training
ai/train_v5_mlp.py - AI Validation
ai/validate_v5_mlp.py - Benchmark and Analysis
ai/benchmark_end_to_end.py - Generated Cases
dataset/v5_1000
Other components
- Operator
Connections 23
- Operator → Interactive Application: selects mode
README.md - Interactive Application → Digital Twin: runs twin
README.md - Interactive Application → Global GPU Solver: benchmarks V5
README.md - Digital Twin → Twin State: updates state
include/battery_thermal_twin.h - Digital Twin → Twin Configuration: uses settings
include/battery_thermal_twin.h - Digital Twin → Solver Configuration: uses settings
include/battery_thermal_twin.h - Digital Twin → AI Inference: uses predictions
- Digital Twin → Global GPU Solver: runs physics
- AI Inference → Model Parameters: loads weights
src/ai_inference.cpp - AI Inference → AI Inference: checks AI domain
src/ai_inference.cpp - CPU Reference → Battery Physics Model: uses physics
include/battery_model.h - Global GPU Solver → Battery Physics Model: uses physics
include/kernels.h - Tiled GPU Solver → Battery Physics Model: uses physics
include/kernels.h - Halo GPU Solver → Battery Physics Model: uses physics
include/kernels.h - CUDA Streams → Battery Physics Model: uses physics
include/stream_solver.h - Physics Dataset Generation → Global GPU Solver: uses V5 solver
README.md - Physics Dataset Generation → Generated Cases: generates cases
README.md - Generated Cases → Base and Residual Training: trains from data
README.md - Base and Residual Training → AI Validation: evaluated by
- Base and Residual Training → AI Inference: exports model
- Benchmark and Analysis → AI Inference: benchmarks inference
- Benchmark and Analysis → Performance Metrics: reports performance
- Interactive Application → Performance Metrics: reports benchmarks
README.md