Metadata-Version: 2.4
Name: evokernel
Version: 0.8.0
Summary: CUDA kernel optimization agent powered by OpenEvolve
License-Expression: MIT
Author: Joseph Tso
Requires-Python: >=3.10,<3.14
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: anthropic (>=0.47)
Requires-Dist: bashlex (>=0.18)
Requires-Dist: click (>=8.0)
Requires-Dist: click-default-group (>=1.2.4)
Requires-Dist: dacite (>=1.9.2)
Requires-Dist: deprecated (>=1.2.18)
Requires-Dist: eventlet (>=0.33)
Requires-Dist: flask (>=3.0)
Requires-Dist: flask-socketio (>=5.3)
Requires-Dist: ipython (>=8.17.2)
Requires-Dist: jinja2 (>=3.1)
Requires-Dist: json-repair (>=0.32.0)
Requires-Dist: lxml
Requires-Dist: mcp (>=1.13.0)
Requires-Dist: modal (>=1.3.0)
Requires-Dist: multiprocessing-logging (>=0.3.4)
Requires-Dist: numpy (>=1.22.0)
Requires-Dist: openai (>=1.0)
Requires-Dist: pick (>=2.2.0)
Requires-Dist: pillow
Requires-Dist: platformdirs (>=4.3)
Requires-Dist: prompt-toolkit (>=3.0)
Requires-Dist: pydantic (>=2.11.7)
Requires-Dist: python-dateutil (>=2.9.0.post0)
Requires-Dist: python-dotenv (>=1.0.0)
Requires-Dist: python-socketio (>=5.0)
Requires-Dist: pyyaml (>=6.0.3)
Requires-Dist: questionary (>=2.1.0)
Requires-Dist: rich (>=13.5.2)
Requires-Dist: tabulate
Requires-Dist: tiktoken (>=0.7)
Requires-Dist: tomlkit
Requires-Dist: tqdm (>=4.64.0)
Requires-Dist: typing-extensions
Description-Content-Type: text/markdown

# EvoKernel

CUDA kernel optimization agent powered by OpenEvolve.

## Quick Start

```bash
# Install as CLI tool (requires Python 3.10-3.13)
pipx install evokernel
# or with uv
uv tool install evokernel

# Setup Modal (GPU evaluator)
modal setup

# Configure OpenRouter API key
evokernel setup

# Run in any project directory
evokernel
```

### Development Install

```bash
git clone https://github.com/haladir-ai/EvoKernel.git
cd EvoKernel
uv tool install .
```

## Usage

Just run `evokernel` in a directory with CUDA kernels and chat with the agent:

```
> optimize my_kernel.cu

> check status

> show the best result

> apply changes
```

## Current Features

- **Speedup optimization**: Maximizes kernel throughput via evolutionary search
- **EVOLVE markers**: Define which code regions to optimize
- **Modal GPU evaluation**: Compile and benchmark on cloud A100 (default)
- **Local GPU evaluation**: Run benchmarks on your own GPU (for codebases with dependencies)
- **LLM ensemble**: Uses Gemini, Claude, GPT via OpenRouter

## Evaluator Modes

| Mode | Use Case |
|------|----------|
| `modal` (default) | Self-contained kernels, no local GPU needed |
| `local` | Kernels with custom headers/dependencies |

## Roadmap (Not Yet Implemented)

- **Memory optimization goal**: Minimize memory usage instead of speedup
- **Target hardware selection**: Optimize for specific GPUs (A100, H100, V100)
- **Energy efficiency goal**: Minimize power consumption

