A browser-based IDE for practicing GPU kernel development with serverless execution on Modal.com. Write CUDA, Triton, CUTLASS, and CUTE DSL code and run it on cloud GPUs - pay only for actual execution time.
- Monaco Editor - VS Code-like editing experience with syntax highlighting and autocompletion
- Multiple Languages - CUDA C++, Triton (Python), CUTLASS C++, CUTE DSL (Python), Mojo, cuTile
- GPU Selection - Choose from T4, L4, A10, A100, L40S, H100, H200, B200
- Configurable Timeout - Set execution limits (5-300 seconds)
- Serverless Execution - No idle charges, pay only for kernel runtime
- Self-Hostable - Bring your own Modal API key
- VSCode Extension - Use KernelIDE directly within Visual Studio Code
- CLI Tool - Submit kernels directly from your terminal
npm installFirst, install the Modal CLI and authenticate:
pip install modal
modal setup # This will open browser for authenticationafter you do modal setup go to this link and create a new token by going to Create proxy auth tokens :
Then deploy the executor to your Modal account:
modal deploy modal_executor.pyAfter you run above command you'll see someting like this for the first time.
After deployment, you'll see your endpoint URL:
https://<your-workspace>--kernelide-executor-api.modal.run
npm run devOpen http://localhost:5173 in your browser, and you will see the KernelIDE like this.
- Click Settings in the top-right
- Enter your Modal API credentials
- Click Deploy Executoir and paste your deployed endpoint URL it should look like this
https://<your-workspace>--kernelide-executor-api.modal.runto confirm the connection. after you do this, the screen should look like this in below image.
4.Click on save settings and close the settings popup.
- Select a language from the dropdown (CUDA, Triton, CUTLASS, CUTE DSL, Mojo)
- Write your kernel code in the editor
- Choose your GPU and timeout in Settings
- Click Run or press
Cmd/Ctrl + Enter - View output and execution time in the right panel
The KernelIDE VSCode extension provides the same GPU kernel development experience directly in your editor.
Installation:
Download and install the pre-built extension:
# Download the extension
curl -L -o kernelide.vsix https://github.com/Tanmaypatil123/KernelIDE/releases/download/vscode-extension-v1/kernelide-0.1.0.vsix
# Install the extension
code --install-extension kernelide-0.1.0.vsixAfter installation, restart VS Code and follow the setup instructions in the VSCode Extension README for complete installation and usage details.
The KernelIDE CLI lets you submit kernel files directly from your terminal.
Installation:
cd kernelide-cli
pip install .Setup:
kernelide setupThis will prompt you for your Modal endpoint URL, default GPU, and timeout. Configuration is saved to ~/.kernelide/config.json.
Submit a kernel:
# Auto-detect language from file extension
kernelide submit kernel.cu
# Specify GPU and timeout
kernelide submit kernel.cu --gpu H100 --timeout 60
# Override language (useful for .py files that could be triton, cutedsl, or cutile)
kernelide submit kernel.py --language cutedsl
# One-off endpoint override
kernelide submit kernel.cu --endpoint https://your-workspace--kernelide-executor-api.modal.runOther commands:
kernelide languages # List all supported languages/DSLs
kernelide gpus # List all supported GPU types
kernelide config # Show current configuration| Language | File Type | Description |
|---|---|---|
| CUDA C++ | .cu |
Native CUDA kernels with nvcc |
| Triton | .py |
OpenAI Triton GPU kernels |
| CUTLASS C++ | .cu |
NVIDIA CUTLASS templates |
| CUTE DSL | .py |
nvidia-cutlass-dsl Python package |
| Mojo | .mojo |
Modular's Mojo language |
| cuTile | .py |
NVIDIA cuTile tile-based GPU programming |
| GPU | VRAM | Approx. Price |
|---|---|---|
| T4 | 16 GB | ~$0.76/hr |
| L4 | 24 GB | ~$0.80/hr |
| A10 | 24 GB | ~$1.10/hr |
| A100-40GB | 40 GB | ~$2.10/hr |
| A100-80GB | 80 GB | ~$2.50/hr |
| L40S | 48 GB | ~$1.70/hr |
| H100 | 80 GB | ~$3.95/hr |
| H200 | 141 GB | ~$4.50/hr |
| B200 | 192 GB | ~$5.50/hr |
Prices are approximate and per-second billing applies.
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- Fork/clone this repository
- Deploy
modal_executor.pyto your Modal account - Build the frontend:
npm run build - Serve the
dist/folder with any static hosting (Vercel, Netlify, GitHub Pages, etc.) - Users configure their own Modal API keys in Settings
MIT
Contributions welcome! Please open an issue or PR.