How onlyxitachi/gafime works
GAFIME exposes feature-interaction analysis through Python, while Rust owns validation, candidate planning, scheduling and execution; native GPU payloads execute device work. The graph preserves continuous, decision-path and temporal candidate stages, result/significance processing, and optional backend paths. Several relationships are documented or visible in the source index; unsampled wiring is omitted rather than inferred.
Main entry points: backend.rs GPU loader/backend · v1_adapter.py Analysis boundary · continuous.rs Continuous bridge · api.py Python API
Components 26
Python interface
- Python API
python/gafime/api.py - Engine config
python/gafime/config.py - Analysis boundary
python/gafime/v1_adapter.py - Compiled lifecycle
python/gafime/compile - Reporting
python/gafime/reporting/report.py - Native Python bridge
crates/gafime-py/src/py_api.rs - Continuous bridge
crates/gafime-py/src/continuous.rs - Generated candidates
crates/gafime-py/src/generated.rs
Rust orchestration
- Input preparation
crates/gafime-orchestrator/src/input.rs - Continuous planning
crates/gafime-orchestrator/src/continuous.rs - Candidate descriptors
crates/gafime-orchestrator/src/plan/combos.rs - Scheduling
crates/gafime-orchestrator/src/schedule - Reduction
crates/gafime-orchestrator/src/reduce/mod.rs
Core execution
- Precision matrix
crates/gafime-cpu/src/precision.rs - Metric kernels
crates/gafime-cpu/src/kernels/mod.rs - SIMD kernels
crates/gafime-cpu/src/simd/covariance.rs - Decision paths
crates/gafime-cpu/src/decision_path.rs - Temporal transforms
crates/gafime-cpu/src/time_series.rs - Significance tests
crates/gafime-cpu/src/significance.rs - Ranked results
crates/gafime-cpu/src/result.rs
GPU backends
- GPU host ABI
src/common/gafime_gpu_abi.hpp - GPU loader/backend
crates/gafime-gpu-sys/src/backend.rs - CUDA payload
src/cuda - ROCm payload
src/rocm - Metal payload
src/metal
Other components
- Analyst
Connections 25
- Analyst → Python API: declares analysis
README.md - Python API → Engine config: uses settings
- Python API → Analysis boundary: invokes boundary
- Analysis boundary → Compiled lifecycle: supports compilation
python/gafime/v1_adapter.py - Analysis boundary → Native Python bridge: loads native boundary
- Native Python bridge → Continuous bridge: delegates continuous
- Continuous bridge → Generated candidates: uses generation
crates/gafime-py/src/continuous.rs - Continuous bridge → Precision matrix: uses precision data
crates/gafime-py/src/continuous.rs - Continuous bridge → Significance tests: calls significance
crates/gafime-py/src/continuous.rs - Generated candidates → Decision paths: discovers paths
crates/gafime-py/src/generated.rs - Generated candidates → Temporal transforms: generates transforms
crates/gafime-py/src/generated.rs - Analysis boundary → Reporting: returns reports
- Input preparation → Continuous planning: feeds analysis
- Continuous planning → Candidate descriptors: builds candidates
crates/gafime-orchestrator/src/continuous.rs - Candidate descriptors → Scheduling: schedules batches
- Candidate descriptors → Reduction: supports reduction
crates/gafime-orchestrator/src/plan/combos.rs - Precision matrix → Metric kernels: provides values
- Metric kernels → SIMD kernels: dispatches SIMD
crates/gafime-cpu/src/kernels/mod.rs - Significance tests → Decision paths: tests paths
crates/gafime-cpu/src/significance.rs - Significance tests → Temporal transforms: tests temporal candidates
crates/gafime-cpu/src/significance.rs - Reduction → Ranked results: reduces results
- GPU loader/backend → GPU host ABI: binds ABI
README.md - GPU loader/backend → CUDA payload: dispatches CUDA
- GPU loader/backend → ROCm payload: dispatches ROCm
- GPU loader/backend → Metal payload: dispatches Metal