Native feature-interaction discovery across Rust CPU/SIMD, CUDA, ROCm/HIP, and Metal.
GAFIME searches continuous interactions, decision-path regions, and temporal transforms for tabular and structured machine-learning workflows. Python is the concise public declaration and reporting surface; Rust owns validation, planning, scheduling, lifecycle, and Core execution; each native GPU payload owns its device-local execution.
Stable releases:
python -m pip install gafime
python -m pip install gafime gafime-cuda # Linux/Windows x86_64 + CUDA
python -m pip install gafime gafime-rocm # Linux x86_64 + system ROCmBeta and release-candidate versions:
python -m pip install --pre gafime "polars>=1.3,<2"
python -m pip install --pre gafime gafime-cuda "polars>=1.3,<2"# Linux/Windows x86_64 + CUDA
python -m pip install --pre gafime gafime-rocm "polars>=1.3,<2"# Linux x86_64 + system ROCmOrdinary pip install prefers a stable release; --pre permits beta and RC
versions. For reproducible RC1 testing, pin Core and any vendor payload to the
same exact version:
python -m pip install gafime==1.0.0rc1 "polars>=1.3,<2"
python -m pip install gafime==1.0.0rc1 gafime-cuda==1.0.0rc1 "polars>=1.3,<2"
python -m pip install gafime==1.0.0rc1 gafime-rocm==1.0.0rc1 "polars>=1.3,<2"Core never depends on a GPU payload, while CUDA and ROCm payload versions must
match Core exactly. Apple Silicon users install plain gafime; Metal is
embedded in the macOS arm64 Core wheel and has no standalone distribution. See
the live release status and
backend installation guide for platform details.
fromgafimeimportComputeBudget, EngineConfig, GafimeEngineX= [[float(i), float((i*7) %11), float((i%5) -2)] foriinrange(64)]
y= [0.4*row[0] *row[1] -0.2*row[2] forrowinX]
config=EngineConfig(
backend="auto",
precision="mixed",
metric_names=("pearson", "r2"),
budget=ComputeBudget(max_comb_size=2),
permutation_tests=0,
num_repeats=1,
)
report=GafimeEngine(config).analyze(
X, y, feature_names=["trend", "cycle", "offset"]
)
print(report.backend)
print(report.interactions.top_k(5, metric_name="pearson"))- Continuous unary and higher-order interaction candidates.
- Native decision-path candidates with target-rediscovered permutation maxT.
- Lag, delta, velocity, acceleration, and rolling time-series candidates.
- Eager, resident, and explicit compiled lifecycles.
- NumPy, Polars/Arrow, file-streaming, scikit-learn, and CLI integration.
| Backend | Distribution | Precision profiles |
|---|---|---|
| Rust Core/SIMD | gafime | fp32, mixed, fp64 |
| CUDA | gafime-cuda | fp32, mixed, fp64 |
| ROCm/HIP | gafime-rocm | fp32, mixed, fp64 |
| Metal | embedded in macOS arm64 gafime | fp32 only |
Explicit unsupported backend/profile requests fail closed. backend="auto"
selects only from available, compatible native paths; explicit vendor requests
never silently substitute Core. RT/OptiX remains experimental and local-only.
- Backend selection and installation
- Capability reporting
- Precision contract
- Eager, resident, and compiled execution
- Documentation index
- Normative v1 architecture contract
- Agent skill audiences and bootstrap
- Build guide
- Contribution guide
GAFIME is licensed under Apache-2.0.
Maintainer: Hamza Usta — hamzausta2222@gmail.com
Report suspected vulnerabilities privately through the process in SECURITY.md, not through a public issue.