CUDA-accelerated tool for finding optimal combinations of numeric inputs that satisfy a target output constraint. A combinatorial search that takes hours on CPU completes in seconds on GPU.
Given a pool of numeric inputs and a target output range, the tool finds all combinations of 10 inputs whose weighted average falls within the target. Formula and weights are configurable per use case.
Finding the exact combination for a desired output value is a combinatorial search problem. This tool offloads it entirely to the GPU using CUDA, searching millions of combinations per second.
With 500 available inputs, finding valid 10-element combinations yields ~2.6 trillion possibilities - years at CPU speed, seconds to minutes on GPU.
C(500, 10) ≈ 2.6 × 10¹² combinations # CPU: ~years at single-thread speed # GPU (CUDA, 4090): seconds to minutes
# Requires NVIDIA GPU with CUDA support # Install CUDA Toolkit from nvidia.com first pip install -r requirements.txt python main.py