Skip to main content

CUDA kernel optimization agent powered by OpenEvolve - fork of gptme

Project description

EvoKernel

CUDA kernel optimization agent powered by OpenEvolve.

Quick Start

# Install uv if needed
brew install uv

# Install EvoKernel (requires Python 3.10-3.13)
git clone https://github.com/haladir-ai/evokernel.git
cd evokernel
uv tool install .

# Setup Modal (GPU evaluator)
modal setup

# Configure OpenRouter API key
evokernel setup

# Run in any project directory
evokernel

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evokernel-0.1.0.tar.gz (554.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evokernel-0.1.0-py3-none-any.whl (683.1 kB view details)

Uploaded Python 3

File details

Details for the file evokernel-0.1.0.tar.gz.

File metadata

  • Download URL: evokernel-0.1.0.tar.gz
  • Upload date:
  • Size: 554.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for evokernel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0d2e460c0b8082663a75f2158efb10578c577754d483bd912ce1f4e7c0bace5d
MD5 c5955e6ea85ef78ae346971541db8b0c
BLAKE2b-256 9284e4089420b27ed23b6ce261e68610b8d5fb266aecf2e8d4d8a4473bd6f630

See more details on using hashes here.

File details

Details for the file evokernel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: evokernel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 683.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for evokernel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a1d113e4aa8714c94b9603c229d38475f5b3e63a48146f2e784fc0f23f11e06
MD5 31e47a3e329064d43261d838854d1576
BLAKE2b-256 f7c585156efe209baeaa7a7de13899a506a93bf44ca8cc6293373bb23c646c3d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page