Skip to content

Latest commit

 

History

612 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GAFIME — GPU-Accelerated Feature Interaction Mining Engine

Latest release PyPI version Python versions V1 Contract Validation License

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.

Installation

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 ROCm

Beta and release-candidate versions:

python -m pip install --pre gafime
python -m pip install --pre gafime gafime-cuda  # Linux/Windows x86_64 + CUDA
python -m pip install --pre gafime gafime-rocm  # Linux x86_64 + system ROCm

Ordinary 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
python -m pip install gafime==1.0.0rc1 gafime-cuda==1.0.0rc1
python -m pip install gafime==1.0.0rc1 gafime-rocm==1.0.0rc1

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.

Quick Start

from gafime import ComputeBudget, EngineConfig, GafimeEngine

X = [[float(i), float((i * 7) % 11), float((i % 5) - 2)] for i in range(64)]
y = [0.4 * row[0] * row[1] - 0.2 * row[2] for row in X]

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"))

What GAFIME Supports

  • 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.

Documentation

Getting Started

API

Execution and Backends

Architecture and Development

Security

Releases

License / Contact

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.

About

GPU-Accelerated Feature Interaction Mining Engine (GAFIME) — native heterogeneous execution across Rust CPU/SIMD, CUDA, ROCm/HIP, and Metal.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages