Spaces:
Running
Download README.md from Shreyansh327/kernel-env: direct link, hf CLI and curl.
- Browser
- Download file 4.94 kB
-
https://huggingface.co/spaces/Shreyansh327/kernel-env/resolve/main/README.md
- Command line
-
hf download hf://spaces/Shreyansh327/kernel-env/README.md
-
curl -L -o README.md https://huggingface.co/spaces/Shreyansh327/kernel-env/resolve/main/README.md
title: Kernel Env — OpenEnv GPU Kernel RL
emoji: ⚡
colorFrom: green
colorTo: gray
sdk: static
app_file: index.html
pinned: false
license: bsd-3-clause
tags:
- openenv
- reinforcement-learning
- triton
- cuda
- kernelbench
models:
- Shreyansh327/Qwen2.5-Coder-7B-KernelEnv-GRPO-16
Kernel Env
An OpenEnv environment for iterative Triton/CUDA kernel writing, with execution feedback, correctness-gated rewards and real GPU timing on KernelBench tasks.
This free Space hosts documentation, evidence and downloadable environment source.
It is static: there is no live /ws endpoint, GPU evaluator, model inference or training here.
The environment itself runs on an NVIDIA GPU with Docker or the included Modal runner.
Creating a new Docker Space currently requires a paid Hugging Face plan; no subscription,
GPU hardware or inference endpoint was enabled for this publication.
Run the real environment on your own GPU
git clone https://huggingface.co/spaces/Shreyansh327/kernel-env
cd kernel-env
docker build -t kernel-env:latest .
docker run --rm --gpus all -p 127.0.0.1:8000:8000 \
-e KERNEL_ENV_GPUS=0 kernel-env:latest
Requires an NVIDIA CUDA-capable host, Docker and NVIDIA Container Toolkit. The first build downloads CUDA/PyTorch and pinned KernelBench sources. The server provides OpenEnv schemas, health and WebSocket sessions on port 8000. The image pins OpenEnv 0.3.0 and uses the existing PyTorch 2.7.1/CUDA 12.8 development base, including nvcc for custom CUDA extensions. This release Dockerfile was statically checked; its complete image was not built locally. The evaluator source passed a prior 116-test real-GPU suite; that is separate from an image build.
In another shell, install the client and send source:
python -m pip install "openenv-core[core]==0.3.0" ./kernel_env
python examples/client_smoke.py --url http://127.0.0.1:8000
examples/relu.py is a real custom Triton example. The smoke script checks the server's ReLU
task, submits the example and requires a correct GPU result. Never point it at this static
Space URL: it needs the server started above. Do not expose the execution server to untrusted
users; the source checks and subprocess boundary are not a security sandbox for native code.
modal_app.py and train/ contain the cloud runner and bounded training recipe. Running them
allocates paid cloud resources. No Modal application was deployed by this publication.
How it works
reset(task_id, seed) returns a reference PyTorch module. The policy submits a complete
ModelNew source through step(KernelAction(...)). Static checks, compilation, hidden-seed
correctness trials and synchronized GPU timing yield errors or a reward. The model can repair
its submission within the episode's turn limit (default four; the proof run used two).
In roofline mode, incorrect submissions receive zero; correct kernels receive
0.3 + 2.7 * min(t_min / t_kernel, 1). They do not have to beat PyTorch to earn reward.
See environment documentation for checks, limitations and configuration.
Small-run evidence
The separately published LoRA adapter received 16 GRPO updates from a pristine Qwen2.5-Coder-7B-Instruct base on four activation tasks. Matched greedy evaluation on ten fixed tasks, two submissions each:
| Correct tasks | Before | After |
|---|---|---|
| Training | 3/4 | 3/4 |
| Reserved transfer | 2/3 | 2/3 |
| Official held-out | 0/3 | 1/3 |
| Overall, best of two | 5/10 | 6/10 |
| Overall, first turn | 5/10 | 5/10 |
The new GELU success occurred on turn two and passed an additional five-seed signed-input replay. It measured 8.83× eager PyTorch for that task only; existing solved kernels were essentially unchanged in speed. One seed and ten related-family tasks do not establish robust or unseen-family generalization. Public benchmark pretraining contamination is not excluded.
The current experiment and verification reported $3.48551555 Modal compute usage. This excludes historical runs, future storage and billing lag. Publishing this static Space and adapter starts no training or GPU inference service.
The model repository contains comparison data, optimizer traces, a validation record and experiment provenance.
Revisions and attribution
- KernelBench:
423217d9fda91e0c2d67e4a43bf62f96f6d104f1(downloaded during image build). - Base model:
c03e6d358207e414f1eca0bb1891e29f1db0e242. - OpenEnv-derived template files retain their Meta copyright headers; see
LICENSE. - Model weights are distributed separately under Apache 2.0; see that repository's license.
- This source snapshot includes local evaluator fixes used in the experiment. It is not represented as an upstream merged release.